2008-05-19 01:09:34 +04:00
/*
* Unix SMB / CIFS implementation .
* collected prototypes header
*
* frozen from " make proto " in May 2008
*
* Copyright ( C ) Michael Adam 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 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 < http : //www.gnu.org/licenses/>.
*/
# ifndef _WINBINDD_PROTO_H_
# define _WINBINDD_PROTO_H_
2010-05-11 14:24:42 +04:00
/* The following definitions come from winbindd/winbindd.c */
2014-05-06 05:39:12 +04:00
struct imessaging_context * winbind_imessaging_context ( void ) ;
2022-03-02 20:30:19 +03:00
void winbindd_terminate ( bool is_parent ) ;
2009-01-22 16:54:21 +03:00
bool winbindd_setup_sig_term_handler ( bool parent ) ;
2012-03-02 11:22:10 +04:00
bool winbindd_setup_stdin_handler ( bool parent , bool foreground ) ;
2009-01-27 21:37:51 +03:00
bool winbindd_setup_sig_hup_handler ( const char * lfile ) ;
2009-03-12 12:12:58 +03:00
bool winbindd_use_idmap_cache ( void ) ;
bool winbindd_use_cache ( void ) ;
2022-03-02 19:54:54 +03:00
void winbindd_set_use_cache ( bool use_cache ) ;
2010-05-17 13:34:32 +04:00
char * get_winbind_priv_pipe_dir ( void ) ;
2021-01-20 13:17:22 +03:00
void winbindd_flush_caches ( void ) ;
2023-05-03 12:19:45 +03:00
void winbind_debug_call_depth_setup ( size_t * depth ) ;
void winbind_call_flow ( void * private_data ,
enum tevent_thread_call_depth_cmd cmd ,
struct tevent_req * req ,
size_t depth ,
const char * fname ) ;
2021-01-20 13:17:22 +03:00
bool winbindd_reload_services_file ( const char * lfile ) ;
2008-05-19 01:09:34 +04:00
/* The following definitions come from winbindd/winbindd_ads.c */
2009-09-17 09:59:25 +04:00
/* The following definitions come from winbindd/winbindd_rpc.c */
NTSTATUS winbindd_lookup_sids ( TALLOC_CTX * mem_ctx ,
struct winbindd_domain * domain ,
uint32_t num_sids ,
const struct dom_sid * sids ,
char * * * domains ,
char * * * names ,
enum lsa_SidType * * types ) ;
2011-03-11 14:48:11 +03:00
NTSTATUS rpc_lookup_sids ( TALLOC_CTX * mem_ctx ,
struct winbindd_domain * domain ,
struct lsa_SidArray * sids ,
struct lsa_RefDomainList * * pdomains ,
struct lsa_TransNameArray * * pnames ) ;
2008-05-19 01:09:34 +04:00
/* The following definitions come from winbindd/winbindd_cache.c */
2016-10-08 02:19:07 +03:00
NTSTATUS wb_cache_query_user_list ( struct winbindd_domain * domain ,
TALLOC_CTX * mem_ctx ,
2017-01-03 15:11:30 +03:00
uint32_t * * prids ) ;
2016-10-08 02:19:07 +03:00
NTSTATUS wb_cache_enum_dom_groups ( struct winbindd_domain * domain ,
TALLOC_CTX * mem_ctx ,
uint32_t * num_entries ,
struct wb_acct_info * * info ) ;
NTSTATUS wb_cache_enum_local_groups ( struct winbindd_domain * domain ,
TALLOC_CTX * mem_ctx ,
uint32_t * num_entries ,
struct wb_acct_info * * info ) ;
NTSTATUS wb_cache_name_to_sid ( struct winbindd_domain * domain ,
TALLOC_CTX * mem_ctx ,
const char * domain_name ,
const char * name ,
uint32_t flags ,
struct dom_sid * sid ,
enum lsa_SidType * type ) ;
NTSTATUS wb_cache_sid_to_name ( struct winbindd_domain * domain ,
TALLOC_CTX * mem_ctx ,
const struct dom_sid * sid ,
char * * domain_name ,
char * * name ,
enum lsa_SidType * type ) ;
NTSTATUS wb_cache_rids_to_names ( struct winbindd_domain * domain ,
TALLOC_CTX * mem_ctx ,
const struct dom_sid * domain_sid ,
uint32_t * rids ,
size_t num_rids ,
char * * domain_name ,
char * * * names ,
enum lsa_SidType * * types ) ;
2017-03-02 16:54:46 +03:00
NTSTATUS wb_cache_lookup_usergroups ( struct winbindd_domain * domain ,
TALLOC_CTX * mem_ctx ,
const struct dom_sid * user_sid ,
uint32_t * pnum_sids ,
struct dom_sid * * psids ) ;
2016-10-08 02:19:07 +03:00
NTSTATUS wb_cache_lookup_useraliases ( struct winbindd_domain * domain ,
TALLOC_CTX * mem_ctx ,
uint32_t num_sids ,
const struct dom_sid * sids ,
uint32_t * num_aliases ,
uint32_t * * alias_rids ) ;
NTSTATUS wb_cache_lookup_groupmem ( struct winbindd_domain * domain ,
TALLOC_CTX * mem_ctx ,
const struct dom_sid * group_sid ,
enum lsa_SidType type ,
uint32_t * num_names ,
struct dom_sid * * sid_mem ,
char * * * names ,
uint32_t * * name_types ) ;
2023-03-29 15:53:14 +03:00
NTSTATUS wb_cache_lookup_aliasmem ( struct winbindd_domain * domain ,
TALLOC_CTX * mem_ctx ,
const struct dom_sid * group_sid ,
enum lsa_SidType type ,
uint32_t * num_names ,
struct dom_sid * * sid_mem ) ;
2016-10-08 02:19:07 +03:00
NTSTATUS wb_cache_sequence_number ( struct winbindd_domain * domain ,
uint32_t * seq ) ;
NTSTATUS wb_cache_lockout_policy ( struct winbindd_domain * domain ,
TALLOC_CTX * mem_ctx ,
struct samr_DomInfo12 * policy ) ;
NTSTATUS wb_cache_password_policy ( struct winbindd_domain * domain ,
TALLOC_CTX * mem_ctx ,
struct samr_DomInfo1 * policy ) ;
NTSTATUS wb_cache_trusted_domains ( struct winbindd_domain * domain ,
TALLOC_CTX * mem_ctx ,
struct netr_DomainTrustList * trusts ) ;
2010-05-21 05:25:01 +04:00
NTSTATUS wcache_cached_creds_exist ( struct winbindd_domain * domain , const struct dom_sid * sid ) ;
2022-07-07 12:19:47 +03:00
NTSTATUS wcache_get_creds ( struct winbindd_domain * domain ,
TALLOC_CTX * mem_ctx ,
2010-05-21 05:25:01 +04:00
const struct dom_sid * sid ,
2015-05-03 07:07:06 +03:00
const uint8_t * * cached_nt_pass ,
const uint8_t * * cached_salt ) ;
2022-07-07 12:19:47 +03:00
NTSTATUS wcache_save_creds ( struct winbindd_domain * domain ,
2010-05-21 05:25:01 +04:00
const struct dom_sid * sid ,
2015-05-03 07:07:06 +03:00
const uint8_t nt_pass [ NT_HASH_LEN ] ) ;
2022-07-07 12:19:47 +03:00
void wcache_invalidate_samlogon ( struct winbindd_domain * domain ,
2010-12-11 16:27:54 +03:00
const struct dom_sid * user_sid ) ;
2008-05-19 01:09:34 +04:00
bool wcache_invalidate_cache ( void ) ;
2010-02-09 11:35:40 +03:00
bool wcache_invalidate_cache_noinit ( void ) ;
2008-05-19 01:09:34 +04:00
bool initialize_winbindd_cache ( void ) ;
void close_winbindd_cache ( void ) ;
2010-05-21 05:25:01 +04:00
bool lookup_cached_sid ( TALLOC_CTX * mem_ctx , const struct dom_sid * sid ,
2008-05-19 01:09:34 +04:00
char * * domain_name , char * * name ,
enum lsa_SidType * type ) ;
2018-04-26 13:17:12 +03:00
bool lookup_cached_name ( const char * namespace ,
const char * domain_name ,
2008-05-19 01:09:34 +04:00
const char * name ,
2010-05-21 05:25:01 +04:00
struct dom_sid * sid ,
2008-05-19 01:09:34 +04:00
enum lsa_SidType * type ) ;
2016-09-28 21:26:04 +03:00
void cache_name2sid_trusted ( struct winbindd_domain * domain ,
const char * domain_name ,
const char * name ,
enum lsa_SidType type ,
const struct dom_sid * sid ) ;
2022-07-07 12:19:47 +03:00
void cache_name2sid ( struct winbindd_domain * domain ,
2008-05-19 01:09:34 +04:00
const char * domain_name , const char * name ,
2010-05-21 05:25:01 +04:00
enum lsa_SidType type , const struct dom_sid * sid ) ;
2014-07-07 19:14:37 +04:00
NTSTATUS wcache_query_user_fullname ( struct winbindd_domain * domain ,
TALLOC_CTX * mem_ctx ,
const struct dom_sid * user_sid ,
const char * * full_name ) ;
2009-08-05 00:07:01 +04:00
2008-05-19 01:09:34 +04:00
NTSTATUS wcache_count_cached_creds ( struct winbindd_domain * domain , int * count ) ;
2010-05-21 05:25:01 +04:00
NTSTATUS wcache_remove_oldest_cached_creds ( struct winbindd_domain * domain , const struct dom_sid * sid ) ;
2008-05-19 01:09:34 +04:00
bool set_global_winbindd_state_offline ( void ) ;
void set_global_winbindd_state_online ( void ) ;
bool get_global_winbindd_state_offline ( void ) ;
int winbindd_validate_cache ( void ) ;
int winbindd_validate_cache_nobackup ( void ) ;
bool winbindd_cache_validate_and_initialize ( void ) ;
bool wcache_tdc_fetch_list ( struct winbindd_tdc_domain * * domains , size_t * num_domains ) ;
bool wcache_tdc_add_domain ( struct winbindd_domain * domain ) ;
struct winbindd_tdc_domain * wcache_tdc_fetch_domain ( TALLOC_CTX * ctx , const char * name ) ;
void wcache_tdc_clear ( void ) ;
2009-08-25 13:26:14 +04:00
bool wcache_store_seqnum ( const char * domain_name , uint32_t seqnum ,
time_t last_seq_check ) ;
2009-08-24 02:13:02 +04:00
bool wcache_fetch_ndr ( TALLOC_CTX * mem_ctx , struct winbindd_domain * domain ,
uint32_t opnum , const DATA_BLOB * req , DATA_BLOB * resp ) ;
void wcache_store_ndr ( struct winbindd_domain * domain , uint32_t opnum ,
const DATA_BLOB * req , const DATA_BLOB * resp ) ;
2008-05-19 01:09:34 +04:00
/* The following definitions come from winbindd/winbindd_ccache_access.c */
2018-05-02 21:23:54 +03:00
bool winbindd_ccache_ntlm_auth ( struct winbindd_cli_state * state ) ;
2008-05-19 01:09:34 +04:00
enum winbindd_result winbindd_dual_ccache_ntlm_auth ( struct winbindd_domain * domain ,
struct winbindd_cli_state * state ) ;
2018-05-02 21:26:19 +03:00
bool winbindd_ccache_save ( struct winbindd_cli_state * state ) ;
2008-05-19 01:09:34 +04:00
/* The following definitions come from winbindd/winbindd_cm.c */
2013-10-10 12:01:40 +04:00
void winbind_msg_domain_offline ( struct messaging_context * msg_ctx ,
void * private_data ,
uint32_t msg_type ,
struct server_id server_id ,
DATA_BLOB * data ) ;
void winbind_msg_domain_online ( struct messaging_context * msg_ctx ,
void * private_data ,
uint32_t msg_type ,
struct server_id server_id ,
DATA_BLOB * data ) ;
2008-05-19 01:09:34 +04:00
void set_domain_offline ( struct winbindd_domain * domain ) ;
void set_domain_online_request ( struct winbindd_domain * domain ) ;
2014-05-16 10:10:23 +04:00
2024-02-27 11:23:17 +03:00
struct cli_credentials ;
NTSTATUS winbindd_get_trust_credentials ( struct winbindd_domain * domain ,
TALLOC_CTX * mem_ctx ,
bool netlogon ,
bool allow_ipc_fallback ,
struct cli_credentials * * _creds ) ;
2014-05-16 10:10:23 +04:00
struct ndr_interface_table ;
NTSTATUS wb_open_internal_pipe ( TALLOC_CTX * mem_ctx ,
const struct ndr_interface_table * table ,
struct rpc_pipe_client * * ret_pipe ) ;
2014-09-23 21:35:21 +04:00
void invalidate_cm_connection ( struct winbindd_domain * domain ) ;
2008-05-19 01:09:34 +04:00
void close_conns_after_fork ( void ) ;
2014-05-26 03:58:38 +04:00
NTSTATUS init_dc_connection ( struct winbindd_domain * domain , bool need_rw_dc ) ;
2008-05-19 01:09:34 +04:00
NTSTATUS cm_connect_sam ( struct winbindd_domain * domain , TALLOC_CTX * mem_ctx ,
2014-05-26 03:58:38 +04:00
bool need_rw_dc ,
2009-03-19 00:49:41 +03:00
struct rpc_pipe_client * * cli , struct policy_handle * sam_handle ) ;
2008-05-19 01:09:34 +04:00
NTSTATUS cm_connect_lsa ( struct winbindd_domain * domain , TALLOC_CTX * mem_ctx ,
2009-03-19 00:49:41 +03:00
struct rpc_pipe_client * * cli , struct policy_handle * lsa_policy ) ;
2012-11-28 19:57:24 +04:00
NTSTATUS cm_connect_lsat ( struct winbindd_domain * domain ,
TALLOC_CTX * mem_ctx ,
struct rpc_pipe_client * * cli ,
struct policy_handle * lsa_policy ) ;
2008-05-19 01:09:34 +04:00
NTSTATUS cm_connect_netlogon ( struct winbindd_domain * domain ,
struct rpc_pipe_client * * cli ) ;
2018-02-02 17:24:00 +03:00
NTSTATUS cm_connect_netlogon_secure ( struct winbindd_domain * domain ,
struct rpc_pipe_client * * cli ,
struct netlogon_creds_cli_context * * ppdc ) ;
2011-01-10 19:25:00 +03:00
bool fetch_current_dc_from_gencache ( TALLOC_CTX * mem_ctx ,
const char * domain_name ,
char * * p_dc_name , char * * p_dc_ip ) ;
2008-05-19 01:09:34 +04:00
/* The following definitions come from winbindd/winbindd_cred_cache.c */
bool ccache_entry_exists ( const char * username ) ;
bool ccache_entry_identical ( const char * username ,
uid_t uid ,
const char * ccname ) ;
2008-12-30 11:17:20 +03:00
void ccache_remove_all_after_fork ( void ) ;
2008-12-30 11:56:36 +03:00
void ccache_regain_all_now ( void ) ;
2008-05-19 01:09:34 +04:00
NTSTATUS add_ccache_to_list ( const char * princ_name ,
const char * ccname ,
const char * username ,
2012-08-21 22:24:58 +04:00
const char * password ,
2008-05-19 01:09:34 +04:00
const char * realm ,
uid_t uid ,
time_t create_time ,
time_t ticket_end ,
time_t renew_until ,
2022-02-22 15:19:02 +03:00
bool postponed_request ,
const char * canon_principal ,
const char * canon_realm ) ;
2008-05-19 01:09:34 +04:00
NTSTATUS remove_ccache ( const char * username ) ;
struct WINBINDD_MEMORY_CREDS * find_memory_creds_by_name ( const char * username ) ;
NTSTATUS winbindd_add_memory_creds ( const char * username ,
uid_t uid ,
const char * pass ) ;
NTSTATUS winbindd_delete_memory_creds ( const char * username ) ;
NTSTATUS winbindd_replace_memory_creds ( const char * username ,
const char * pass ) ;
/* The following definitions come from winbindd/winbindd_creds.c */
NTSTATUS winbindd_get_creds ( struct winbindd_domain * domain ,
TALLOC_CTX * mem_ctx ,
2010-05-21 05:25:01 +04:00
const struct dom_sid * sid ,
2008-05-19 01:09:34 +04:00
struct netr_SamInfo3 * * info3 ,
2021-05-03 22:27:58 +03:00
const uint8_t * * cached_nt_pass ,
const uint8_t * * cred_salt ) ;
2008-05-19 01:09:34 +04:00
NTSTATUS winbindd_store_creds ( struct winbindd_domain * domain ,
2022-07-07 12:19:47 +03:00
const char * user ,
const char * pass ,
2010-09-09 03:58:21 +04:00
struct netr_SamInfo3 * info3 ) ;
2008-05-19 01:09:34 +04:00
NTSTATUS winbindd_update_creds_by_info3 ( struct winbindd_domain * domain ,
const char * user ,
const char * pass ,
struct netr_SamInfo3 * info3 ) ;
NTSTATUS winbindd_update_creds_by_name ( struct winbindd_domain * domain ,
const char * user ,
const char * pass ) ;
/* The following definitions come from winbindd/winbindd_domain.c */
2010-04-07 19:50:19 +04:00
void setup_domain_child ( struct winbindd_domain * domain ) ;
2008-05-19 01:09:34 +04:00
/* The following definitions come from winbindd/winbindd_dual.c */
2010-04-07 19:45:12 +04:00
struct dcerpc_binding_handle * dom_child_handle ( struct winbindd_domain * domain ) ;
2009-05-10 12:49:53 +04:00
struct tevent_req * wb_child_request_send ( TALLOC_CTX * mem_ctx ,
struct tevent_context * ev ,
struct winbindd_child * child ,
struct winbindd_request * request ) ;
int wb_child_request_recv ( struct tevent_req * req , TALLOC_CTX * mem_ctx ,
struct winbindd_response * * presponse , int * err ) ;
2009-06-13 14:13:07 +04:00
struct tevent_req * wb_domain_request_send ( TALLOC_CTX * mem_ctx ,
struct tevent_context * ev ,
struct winbindd_domain * domain ,
struct winbindd_request * request ) ;
int wb_domain_request_recv ( struct tevent_req * req , TALLOC_CTX * mem_ctx ,
struct winbindd_response * * presponse , int * err ) ;
2009-05-10 12:49:53 +04:00
2009-08-24 02:13:02 +04:00
void setup_child ( struct winbindd_domain * domain , struct winbindd_child * child ,
2008-05-19 01:09:34 +04:00
const char * logprefix ,
const char * logname ) ;
void winbind_child_died ( pid_t pid ) ;
void winbindd_flush_negative_conn_cache ( struct winbindd_domain * domain ) ;
2008-07-01 22:37:13 +04:00
void winbind_msg_debug ( struct messaging_context * msg_ctx ,
void * private_data ,
uint32_t msg_type ,
struct server_id server_id ,
DATA_BLOB * data ) ;
2018-02-28 18:08:44 +03:00
void winbind_disconnect_dc_parent ( struct messaging_context * msg_ctx ,
void * private_data ,
uint32_t msg_type ,
struct server_id server_id ,
DATA_BLOB * data ) ;
2008-05-19 01:09:34 +04:00
void winbind_msg_offline ( struct messaging_context * msg_ctx ,
void * private_data ,
uint32_t msg_type ,
struct server_id server_id ,
DATA_BLOB * data ) ;
void winbind_msg_online ( struct messaging_context * msg_ctx ,
void * private_data ,
uint32_t msg_type ,
struct server_id server_id ,
DATA_BLOB * data ) ;
void winbind_msg_onlinestatus ( struct messaging_context * msg_ctx ,
void * private_data ,
uint32_t msg_type ,
struct server_id server_id ,
DATA_BLOB * data ) ;
void winbind_msg_dump_event_list ( struct messaging_context * msg_ctx ,
void * private_data ,
uint32_t msg_type ,
struct server_id server_id ,
DATA_BLOB * data ) ;
void winbind_msg_dump_domain_list ( struct messaging_context * msg_ctx ,
void * private_data ,
uint32_t msg_type ,
struct server_id server_id ,
DATA_BLOB * data ) ;
2010-09-29 14:17:05 +04:00
void winbind_msg_ip_dropped ( struct messaging_context * msg_ctx ,
void * private_data ,
uint32_t msg_type ,
struct server_id server_id ,
DATA_BLOB * data ) ;
2018-02-28 18:08:44 +03:00
void winbind_msg_disconnect_dc ( struct messaging_context * msg_ctx ,
void * private_data ,
uint32_t msg_type ,
struct server_id server_id ,
DATA_BLOB * data ) ;
2010-09-29 14:17:05 +04:00
void winbind_msg_ip_dropped_parent ( struct messaging_context * msg_ctx ,
void * private_data ,
uint32_t msg_type ,
struct server_id server_id ,
DATA_BLOB * data ) ;
2021-01-20 13:17:22 +03:00
void winbindd_msg_reload_services_parent ( struct messaging_context * msg ,
void * private_data ,
uint32_t msg_type ,
struct server_id server_id ,
DATA_BLOB * data ) ;
2011-04-29 14:53:13 +04:00
NTSTATUS winbindd_reinit_after_fork ( const struct winbindd_child * myself ,
const char * logfilename ) ;
2009-07-28 23:06:11 +04:00
struct winbindd_domain * wb_child_domain ( void ) ;
2024-01-18 17:38:10 +03:00
bool add_trusted_domains_dc ( void ) ;
2008-05-19 01:09:34 +04:00
/* The following definitions come from winbindd/winbindd_group.c */
2009-08-16 14:08:52 +04:00
bool fill_grent ( TALLOC_CTX * mem_ctx , struct winbindd_gr * gr ,
const char * dom_name , const char * gr_name , gid_t unix_gid ) ;
2017-08-06 16:49:01 +03:00
struct db_context ;
NTSTATUS winbindd_print_groupmembers ( struct db_context * members ,
2009-08-16 14:09:37 +04:00
TALLOC_CTX * mem_ctx ,
int * num_members , char * * result ) ;
2008-05-22 07:16:33 +04:00
2008-05-19 01:09:34 +04:00
/* The following definitions come from winbindd/winbindd_idmap.c */
2020-09-11 13:16:00 +03:00
struct tevent_req * wb_parent_idmap_setup_send ( TALLOC_CTX * mem_ctx ,
struct tevent_context * ev ) ;
NTSTATUS wb_parent_idmap_setup_recv ( struct tevent_req * req ,
const struct wb_parent_idmap_config * * _cfg ) ;
2023-12-12 17:44:21 +03:00
NTSTATUS init_idmap_child ( TALLOC_CTX * mem_ctx ) ;
2008-05-19 01:09:34 +04:00
struct winbindd_child * idmap_child ( void ) ;
2020-09-11 15:06:04 +03:00
bool is_idmap_child ( const struct winbindd_child * child ) ;
2020-09-11 15:06:04 +03:00
pid_t idmap_child_pid ( void ) ;
2018-02-14 15:24:54 +03:00
struct dcerpc_binding_handle * idmap_child_handle ( void ) ;
2012-11-22 21:16:31 +04:00
struct idmap_domain * idmap_find_domain_with_sid ( const char * domname ,
const struct dom_sid * sid ) ;
2017-01-07 17:53:09 +03:00
const char * idmap_config_const_string ( const char * domname , const char * option ,
const char * def ) ;
2017-01-07 18:10:05 +03:00
bool idmap_config_bool ( const char * domname , const char * option , bool def ) ;
2017-01-08 14:52:56 +03:00
int idmap_config_int ( const char * domname , const char * option , int def ) ;
2022-11-17 12:43:22 +03:00
const char * * idmap_config_string_list ( const char * domname ,
const char * option ,
const char * * def ) ;
2016-03-10 12:38:29 +03:00
bool domain_has_idmap_config ( const char * domname ) ;
2016-02-22 19:03:43 +03:00
bool lp_scan_idmap_domains ( bool ( * fn ) ( const char * domname ,
void * private_data ) ,
void * private_data ) ;
2008-05-19 01:09:34 +04:00
/* The following definitions come from winbindd/winbindd_locator.c */
2023-12-12 17:49:07 +03:00
NTSTATUS init_locator_child ( TALLOC_CTX * mem_ctx ) ;
2008-05-19 01:09:34 +04:00
struct winbindd_child * locator_child ( void ) ;
2018-02-14 15:24:54 +03:00
struct dcerpc_binding_handle * locator_child_handle ( void ) ;
2008-05-19 01:09:34 +04:00
/* The following definitions come from winbindd/winbindd_misc.c */
2018-05-04 22:19:06 +03:00
bool winbindd_list_trusted_domains ( struct winbindd_cli_state * state ) ;
2018-05-02 19:27:23 +03:00
bool winbindd_dc_info ( struct winbindd_cli_state * state ) ;
2018-05-02 17:38:14 +03:00
bool winbindd_ping ( struct winbindd_cli_state * state ) ;
2018-05-02 17:36:49 +03:00
bool winbindd_info ( struct winbindd_cli_state * state ) ;
2018-05-02 16:26:55 +03:00
bool winbindd_interface_version ( struct winbindd_cli_state * state ) ;
2018-05-02 17:39:20 +03:00
bool winbindd_domain_name ( struct winbindd_cli_state * state ) ;
2018-05-02 19:25:00 +03:00
bool winbindd_netbios_name ( struct winbindd_cli_state * state ) ;
2018-05-02 21:27:43 +03:00
bool winbindd_priv_pipe_dir ( struct winbindd_cli_state * state ) ;
2008-05-19 01:09:34 +04:00
/* The following definitions come from winbindd/winbindd_ndr.c */
2011-04-06 17:16:53 +04:00
struct ndr_print ;
2008-05-19 01:09:34 +04:00
void ndr_print_winbindd_child ( struct ndr_print * ndr ,
const char * name ,
const struct winbindd_child * r ) ;
void ndr_print_winbindd_cm_conn ( struct ndr_print * ndr ,
const char * name ,
const struct winbindd_cm_conn * r ) ;
void ndr_print_winbindd_methods ( struct ndr_print * ndr ,
const char * name ,
const struct winbindd_methods * r ) ;
void ndr_print_winbindd_domain ( struct ndr_print * ndr ,
const char * name ,
const struct winbindd_domain * r ) ;
/* The following definitions come from winbindd/winbindd_pam.c */
2009-09-27 13:51:07 +04:00
bool check_request_flags ( uint32_t flags ) ;
2012-07-19 01:38:47 +04:00
NTSTATUS append_auth_data ( TALLOC_CTX * mem_ctx ,
struct winbindd_response * resp ,
uint32_t request_flags ,
2017-12-02 12:27:12 +03:00
uint16_t validation_level ,
union netr_Validation * validation ,
2012-07-19 01:38:47 +04:00
const char * name_domain ,
const char * name_user ) ;
2021-06-14 19:05:34 +03:00
NTSTATUS extra_data_to_sid_array ( const char * group_sid ,
TALLOC_CTX * mem_ctx ,
struct wbint_SidArray * * _sid_array ) ;
2010-04-18 16:14:43 +04:00
uid_t get_uid_from_request ( struct winbindd_request * request ) ;
2009-09-27 13:49:11 +04:00
struct winbindd_domain * find_auth_domain ( uint8_t flags ,
const char * domain_name ) ;
2021-06-14 20:13:48 +03:00
struct pipes_struct ;
struct wbint_PamAuth ;
NTSTATUS _wbint_PamAuth ( struct pipes_struct * p ,
struct wbint_PamAuth * r ) ;
2022-02-25 13:32:14 +03:00
NTSTATUS _wbint_PamAuthCrap ( struct pipes_struct * p ,
struct wbint_PamAuthCrap * r ) ;
2021-06-22 11:23:04 +03:00
NTSTATUS _wbint_PamAuthChangePassword ( struct pipes_struct * p ,
struct wbint_PamAuthChangePassword * r ) ;
2021-06-16 18:39:02 +03:00
NTSTATUS _wbint_PamLogOff ( struct pipes_struct * p ,
struct wbint_PamLogOff * r ) ;
2021-06-21 14:51:53 +03:00
NTSTATUS _wbint_PamAuthCrapChangePassword ( struct pipes_struct * p ,
struct wbint_PamAuthCrapChangePassword * r ) ;
2018-02-09 10:38:18 +03:00
NTSTATUS winbindd_pam_auth_pac_verify ( struct winbindd_cli_state * state ,
2022-02-25 14:11:36 +03:00
TALLOC_CTX * mem_ctx ,
2018-02-09 10:38:18 +03:00
bool * p_is_trusted ,
uint16_t * p_validation_level ,
union netr_Validation * * p_validation ) ;
2008-05-19 01:09:34 +04:00
2014-05-08 08:49:13 +04:00
NTSTATUS winbind_dual_SamLogon ( struct winbindd_domain * domain ,
TALLOC_CTX * mem_ctx ,
2018-01-23 19:37:54 +03:00
bool interactive ,
2014-05-08 08:49:13 +04:00
uint32_t logon_parameters ,
const char * name_user ,
const char * name_domain ,
const char * workstation ,
2019-02-01 03:49:49 +03:00
const uint64_t logon_id ,
2019-01-28 05:31:46 +03:00
const char * client_name ,
const int pid ,
2021-06-15 15:06:27 +03:00
DATA_BLOB chal ,
2014-05-08 08:49:13 +04:00
DATA_BLOB lm_response ,
DATA_BLOB nt_response ,
2019-01-28 05:31:46 +03:00
const struct tsocket_address * remote ,
const struct tsocket_address * local ,
2017-01-28 23:20:59 +03:00
uint8_t * authoritative ,
2017-04-12 05:12:32 +03:00
bool skip_sam ,
2017-01-28 23:20:59 +03:00
uint32_t * flags ,
2017-12-11 18:25:35 +03:00
uint16_t * _validation_level ,
union netr_Validation * * _validation ) ;
2014-05-08 08:49:13 +04:00
2008-05-19 01:09:34 +04:00
/* The following definitions come from winbindd/winbindd_util.c */
struct winbindd_domain * domain_list ( void ) ;
2015-01-20 12:07:59 +03:00
struct winbindd_domain * wb_next_domain ( struct winbindd_domain * domain ) ;
2017-12-13 19:11:25 +03:00
bool set_routing_domain ( struct winbindd_domain * domain ,
2018-01-15 14:03:11 +03:00
struct winbindd_domain * routing_domain ) ;
2017-11-29 12:10:38 +03:00
bool add_trusted_domain_from_auth ( uint16_t validation_level ,
struct info3_text * info3 ,
struct info6_text * info6 ) ;
2009-12-30 12:25:41 +03:00
bool domain_is_forest_root ( const struct winbindd_domain * domain ) ;
2009-05-26 00:34:48 +04:00
void rescan_trusted_domains ( struct tevent_context * ev , struct tevent_timer * te ,
struct timeval now , void * private_data ) ;
2020-09-17 12:12:53 +03:00
void winbindd_ping_offline_domains ( struct tevent_context * ev ,
struct tevent_timer * te ,
struct timeval now ,
void * private_data ) ;
2008-05-19 01:09:34 +04:00
bool init_domain_list ( void ) ;
struct winbindd_domain * find_domain_from_name_noinit ( const char * domain_name ) ;
2017-11-29 17:23:36 +03:00
struct winbindd_domain * find_trust_from_name_noinit ( const char * domain_name ) ;
2008-05-19 01:09:34 +04:00
struct winbindd_domain * find_domain_from_name ( const char * domain_name ) ;
2010-05-21 05:25:01 +04:00
struct winbindd_domain * find_domain_from_sid_noinit ( const struct dom_sid * sid ) ;
2017-11-29 17:23:36 +03:00
struct winbindd_domain * find_trust_from_sid_noinit ( const struct dom_sid * sid ) ;
2010-05-21 05:25:01 +04:00
struct winbindd_domain * find_domain_from_sid ( const struct dom_sid * sid ) ;
2008-05-19 01:09:34 +04:00
struct winbindd_domain * find_our_domain ( void ) ;
2017-12-13 19:08:10 +03:00
struct winbindd_domain * find_default_route_domain ( void ) ;
2010-05-21 05:25:01 +04:00
struct winbindd_domain * find_lookup_domain_from_sid ( const struct dom_sid * sid ) ;
2008-05-19 01:09:34 +04:00
struct winbindd_domain * find_lookup_domain_from_name ( const char * domain_name ) ;
2023-10-20 13:46:56 +03:00
/**
* Parse a DOMAIN \ user or UPN string into a domain , namespace and a user
*
* @ param [ in ] ctx talloc context
* @ param [ in ] domuser a DOMAIN \ user or UPN string
* @ param [ out ] namespace
* @ param [ out ] domain
* @ param [ out ] user
* @ return bool indicating success or failure
*/
bool parse_domain_user ( TALLOC_CTX * ctx ,
const char * domuser ,
char * * namespace ,
char * * domain ,
char * * user ) ;
2023-10-21 13:47:30 +03:00
/**
* Ensure an incoming username from NSS is fully qualified . Replace the
* incoming username with DOMAIN < separator > user . Additionally returns
* the same values as parse_domain_user ( ) as out params .
* Used to ensure all names are fully qualified within winbindd .
* Used by the NSS protocols of auth , chauthtok , logoff and ccache_ntlm_auth .
* The protocol definitions of auth_crap , chng_pswd_auth_crap
* really should be changed to use this instead of doing things
* by hand . JRA .
*
* @ param [ in ] mem_ctx talloc context
* @ param [ in , out ] username_inout populated with fully qualified name
with format ' DOMAIN < separator > user ' where DOMAIN and
user are determined by the output of parse_domain_user ( )
* @ param [ out ] namespace populated with namespace returned from
parse_domain_user ( )
* @ param [ out ] domain populated with domain returned from
parse_domain_user ( )
* @ param [ out ] populated with user returned from
parse_domain_user ( )
* @ return bool indicating success or failure
*/
bool canonicalize_username ( TALLOC_CTX * mem_ctx ,
char * * username_inout ,
char * * namespace ,
char * * domain ,
char * * user ) ;
2008-09-22 12:36:32 +04:00
char * fill_domain_username_talloc ( TALLOC_CTX * ctx ,
const char * domain ,
const char * user ,
bool can_assume ) ;
2008-05-19 01:09:34 +04:00
struct winbindd_cli_state * winbindd_client_list ( void ) ;
2015-07-13 21:08:16 +03:00
struct winbindd_cli_state * winbindd_client_list_tail ( void ) ;
struct winbindd_cli_state *
winbindd_client_list_prev ( struct winbindd_cli_state * cli ) ;
2008-05-19 01:09:34 +04:00
void winbindd_add_client ( struct winbindd_cli_state * cli ) ;
void winbindd_remove_client ( struct winbindd_cli_state * cli ) ;
2015-07-13 21:08:16 +03:00
void winbindd_promote_client ( struct winbindd_cli_state * cli ) ;
2008-05-19 01:09:34 +04:00
int winbindd_num_clients ( void ) ;
2016-11-04 17:33:11 +03:00
NTSTATUS lookup_usergroups_cached ( TALLOC_CTX * mem_ctx ,
2010-05-21 05:25:01 +04:00
const struct dom_sid * user_sid ,
2015-05-03 07:07:06 +03:00
uint32_t * p_num_groups , struct dom_sid * * user_sids ) ;
2008-09-16 00:41:37 +04:00
NTSTATUS normalize_name_map ( TALLOC_CTX * mem_ctx ,
2017-11-27 14:42:44 +03:00
const char * domain_name ,
2009-08-16 14:07:32 +04:00
const char * name ,
char * * normalized ) ;
2008-09-16 00:41:37 +04:00
NTSTATUS normalize_name_unmap ( TALLOC_CTX * mem_ctx ,
2021-02-23 18:27:44 +03:00
const char * name ,
2008-09-16 00:41:37 +04:00
char * * normalized ) ;
NTSTATUS resolve_username_to_alias ( TALLOC_CTX * mem_ctx ,
struct winbindd_domain * domain ,
const char * name , char * * alias ) ;
NTSTATUS resolve_alias_to_username ( TALLOC_CTX * mem_ctx ,
struct winbindd_domain * domain ,
const char * alias , char * * name ) ;
2008-05-19 01:09:34 +04:00
bool winbindd_can_contact_domain ( struct winbindd_domain * domain ) ;
void winbindd_set_locator_kdc_envs ( const struct winbindd_domain * domain ) ;
void winbindd_unset_locator_kdc_env ( const struct winbindd_domain * domain ) ;
void winbindd_set_locator_kdc_envs ( const struct winbindd_domain * domain ) ;
void winbindd_unset_locator_kdc_env ( const struct winbindd_domain * domain ) ;
2008-08-25 15:15:41 +04:00
void set_auth_errors ( struct winbindd_response * resp , NTSTATUS result ) ;
2009-12-24 14:52:24 +03:00
bool is_domain_offline ( const struct winbindd_domain * domain ) ;
2011-03-22 18:37:41 +03:00
bool is_domain_online ( const struct winbindd_domain * domain ) ;
2011-03-08 16:23:15 +03:00
bool parse_sidlist ( TALLOC_CTX * mem_ctx , const char * sidstr ,
struct dom_sid * * sids , uint32_t * num_sids ) ;
2015-08-14 18:14:53 +03:00
bool parse_xidlist ( TALLOC_CTX * mem_ctx , const char * xidstr ,
struct unixid * * pxids , uint32_t * pnum_xids ) ;
2008-05-19 01:09:34 +04:00
/* The following definitions come from winbindd/winbindd_wins.c */
void winbindd_wins_byname ( struct winbindd_cli_state * state ) ;
2010-08-12 17:28:27 +04:00
struct dcerpc_binding_handle * wbint_binding_handle ( TALLOC_CTX * mem_ctx ,
struct winbindd_domain * domain ,
struct winbindd_child * child ) ;
2009-07-28 23:06:11 +04:00
enum winbindd_result winbindd_dual_ndrcmd ( struct winbindd_domain * domain ,
struct winbindd_cli_state * state ) ;
2009-08-04 01:44:46 +04:00
struct tevent_req * wb_lookupsid_send ( TALLOC_CTX * mem_ctx ,
struct tevent_context * ev ,
const struct dom_sid * sid ) ;
NTSTATUS wb_lookupsid_recv ( struct tevent_req * req , TALLOC_CTX * mem_ctx ,
enum lsa_SidType * type , const char * * domain ,
const char * * name ) ;
2009-08-04 14:57:13 +04:00
struct tevent_req * winbindd_lookupsid_send ( TALLOC_CTX * mem_ctx ,
2009-08-16 14:46:55 +04:00
struct tevent_context * ev ,
struct winbindd_cli_state * cli ,
2009-08-04 14:57:13 +04:00
struct winbindd_request * request ) ;
NTSTATUS winbindd_lookupsid_recv ( struct tevent_req * req ,
struct winbindd_response * response ) ;
2011-03-08 16:31:44 +03:00
struct tevent_req * winbindd_lookupsids_send ( TALLOC_CTX * mem_ctx ,
struct tevent_context * ev ,
struct winbindd_cli_state * cli ,
struct winbindd_request * request ) ;
NTSTATUS winbindd_lookupsids_recv ( struct tevent_req * req ,
struct winbindd_response * response ) ;
2009-08-04 15:22:34 +04:00
struct tevent_req * wb_lookupname_send ( TALLOC_CTX * mem_ctx ,
struct tevent_context * ev ,
2018-02-22 16:10:28 +03:00
const char * namespace ,
const char * dom_name ,
const char * name ,
2009-08-04 15:22:34 +04:00
uint32_t flags ) ;
NTSTATUS wb_lookupname_recv ( struct tevent_req * req , struct dom_sid * sid ,
enum lsa_SidType * type ) ;
2009-08-04 15:29:03 +04:00
struct tevent_req * winbindd_lookupname_send ( TALLOC_CTX * mem_ctx ,
struct tevent_context * ev ,
2009-08-16 14:46:55 +04:00
struct winbindd_cli_state * cli ,
2009-08-04 15:29:03 +04:00
struct winbindd_request * request ) ;
NTSTATUS winbindd_lookupname_recv ( struct tevent_req * req ,
struct winbindd_response * response ) ;
2009-08-04 14:57:13 +04:00
2009-08-30 11:41:43 +04:00
struct tevent_req * winbindd_allocate_uid_send ( TALLOC_CTX * mem_ctx ,
struct tevent_context * ev ,
struct winbindd_cli_state * cli ,
struct winbindd_request * request ) ;
NTSTATUS winbindd_allocate_uid_recv ( struct tevent_req * req ,
struct winbindd_response * response ) ;
2009-08-30 11:46:34 +04:00
struct tevent_req * winbindd_allocate_gid_send ( TALLOC_CTX * mem_ctx ,
struct tevent_context * ev ,
struct winbindd_cli_state * cli ,
struct winbindd_request * request ) ;
NTSTATUS winbindd_allocate_gid_recv ( struct tevent_req * req ,
struct winbindd_response * response ) ;
2009-08-04 23:23:13 +04:00
struct tevent_req * wb_queryuser_send ( TALLOC_CTX * mem_ctx ,
struct tevent_context * ev ,
const struct dom_sid * user_sid ) ;
NTSTATUS wb_queryuser_recv ( struct tevent_req * req , TALLOC_CTX * mem_ctx ,
2009-08-09 15:31:31 +04:00
struct wbint_userinfo * * pinfo ) ;
2009-08-04 21:52:39 +04:00
2009-08-04 23:32:11 +04:00
struct tevent_req * wb_getpwsid_send ( TALLOC_CTX * mem_ctx ,
struct tevent_context * ev ,
const struct dom_sid * user_sid ,
struct winbindd_pw * pw ) ;
NTSTATUS wb_getpwsid_recv ( struct tevent_req * req ) ;
2009-08-04 23:35:24 +04:00
struct tevent_req * winbindd_getpwsid_send ( TALLOC_CTX * mem_ctx ,
struct tevent_context * ev ,
2009-08-16 14:46:55 +04:00
struct winbindd_cli_state * cli ,
2009-08-04 23:35:24 +04:00
struct winbindd_request * request ) ;
NTSTATUS winbindd_getpwsid_recv ( struct tevent_req * req ,
struct winbindd_response * response ) ;
2009-08-04 23:37:54 +04:00
struct tevent_req * winbindd_getpwnam_send ( TALLOC_CTX * mem_ctx ,
struct tevent_context * ev ,
2009-08-16 14:46:55 +04:00
struct winbindd_cli_state * cli ,
2009-08-04 23:37:54 +04:00
struct winbindd_request * request ) ;
NTSTATUS winbindd_getpwnam_recv ( struct tevent_req * req ,
struct winbindd_response * response ) ;
2009-08-04 23:41:40 +04:00
struct tevent_req * winbindd_getpwuid_send ( TALLOC_CTX * mem_ctx ,
struct tevent_context * ev ,
2009-08-16 14:46:55 +04:00
struct winbindd_cli_state * cli ,
2009-08-04 23:41:40 +04:00
struct winbindd_request * request ) ;
NTSTATUS winbindd_getpwuid_recv ( struct tevent_req * req ,
struct winbindd_response * response ) ;
2009-08-04 23:54:05 +04:00
struct tevent_req * wb_lookupuseraliases_send ( TALLOC_CTX * mem_ctx ,
struct tevent_context * ev ,
struct winbindd_domain * domain ,
2022-07-11 23:39:06 +03:00
uint32_t num_sids ,
2009-08-04 23:54:05 +04:00
const struct dom_sid * sids ) ;
NTSTATUS wb_lookupuseraliases_recv ( struct tevent_req * req , TALLOC_CTX * mem_ctx ,
uint32_t * num_aliases , uint32_t * * aliases ) ;
2009-08-04 23:58:45 +04:00
struct tevent_req * winbindd_getsidaliases_send ( TALLOC_CTX * mem_ctx ,
struct tevent_context * ev ,
2009-08-16 14:46:55 +04:00
struct winbindd_cli_state * cli ,
2009-08-04 23:58:45 +04:00
struct winbindd_request * request ) ;
NTSTATUS winbindd_getsidaliases_recv ( struct tevent_req * req ,
struct winbindd_response * response ) ;
2017-03-02 16:56:09 +03:00
struct tevent_req * wb_lookupusergroups_send ( TALLOC_CTX * mem_ctx ,
struct tevent_context * ev ,
const struct dom_sid * sid ) ;
NTSTATUS wb_lookupusergroups_recv ( struct tevent_req * req , TALLOC_CTX * mem_ctx ,
2022-07-11 23:41:46 +03:00
uint32_t * num_sids , struct dom_sid * * sids ) ;
2009-08-04 23:41:40 +04:00
2009-08-05 00:20:18 +04:00
struct tevent_req * winbindd_getuserdomgroups_send ( TALLOC_CTX * mem_ctx ,
struct tevent_context * ev ,
2009-08-16 14:46:55 +04:00
struct winbindd_cli_state * cli ,
2009-08-05 00:20:18 +04:00
struct winbindd_request * request ) ;
NTSTATUS winbindd_getuserdomgroups_recv ( struct tevent_req * req ,
struct winbindd_response * response ) ;
2009-08-05 00:22:42 +04:00
struct tevent_req * wb_gettoken_send ( TALLOC_CTX * mem_ctx ,
struct tevent_context * ev ,
2017-01-03 17:54:46 +03:00
const struct dom_sid * sid ,
bool expand_local_aliases ) ;
2009-08-05 00:22:42 +04:00
NTSTATUS wb_gettoken_recv ( struct tevent_req * req , TALLOC_CTX * mem_ctx ,
2022-07-11 22:40:08 +03:00
uint32_t * num_sids , struct dom_sid * * sids ) ;
2009-08-05 00:26:07 +04:00
struct tevent_req * winbindd_getgroups_send ( TALLOC_CTX * mem_ctx ,
struct tevent_context * ev ,
2009-08-16 14:46:55 +04:00
struct winbindd_cli_state * cli ,
2009-08-05 00:26:07 +04:00
struct winbindd_request * request ) ;
NTSTATUS winbindd_getgroups_recv ( struct tevent_req * req ,
struct winbindd_response * response ) ;
2009-08-05 00:20:18 +04:00
2009-08-15 13:16:28 +04:00
struct tevent_req * wb_seqnum_send ( TALLOC_CTX * mem_ctx ,
struct tevent_context * ev ,
struct winbindd_domain * domain ) ;
NTSTATUS wb_seqnum_recv ( struct tevent_req * req , uint32_t * seqnum ) ;
2009-08-05 00:20:18 +04:00
2009-08-15 13:21:16 +04:00
struct tevent_req * wb_seqnums_send ( TALLOC_CTX * mem_ctx ,
struct tevent_context * ev ) ;
NTSTATUS wb_seqnums_recv ( struct tevent_req * req , TALLOC_CTX * mem_ctx ,
int * num_domains , struct winbindd_domain * * * domains ,
2023-07-18 12:45:25 +03:00
NTSTATUS * * statuses , uint32_t * * seqnums ) ;
2009-08-04 23:37:54 +04:00
2009-08-15 15:23:57 +04:00
struct tevent_req * winbindd_show_sequence_send ( TALLOC_CTX * mem_ctx ,
struct tevent_context * ev ,
2009-08-16 14:46:55 +04:00
struct winbindd_cli_state * cli ,
2009-08-15 15:23:57 +04:00
struct winbindd_request * request ) ;
NTSTATUS winbindd_show_sequence_recv ( struct tevent_req * req ,
struct winbindd_response * response ) ;
2009-08-16 12:58:43 +04:00
struct tevent_req * wb_group_members_send ( TALLOC_CTX * mem_ctx ,
struct tevent_context * ev ,
const struct dom_sid * sid ,
2023-03-09 18:00:20 +03:00
uint32_t num_sids ,
enum lsa_SidType * type ,
2009-08-16 12:58:43 +04:00
int max_depth ) ;
NTSTATUS wb_group_members_recv ( struct tevent_req * req , TALLOC_CTX * mem_ctx ,
2017-08-06 16:49:01 +03:00
struct db_context * * members ) ;
2023-03-29 15:57:50 +03:00
struct tevent_req * wb_alias_members_send ( TALLOC_CTX * mem_ctx ,
struct tevent_context * ev ,
const struct dom_sid * sid ,
enum lsa_SidType type ,
int max_nesting ) ;
NTSTATUS wb_alias_members_recv ( struct tevent_req * req ,
TALLOC_CTX * mem_ctx ,
uint32_t * num_sids ,
struct dom_sid * * sids ) ;
2017-08-06 16:49:01 +03:00
NTSTATUS add_member_to_db ( struct db_context * db , struct dom_sid * sid ,
const char * name ) ;
2009-08-15 15:23:57 +04:00
2009-08-16 13:25:31 +04:00
struct tevent_req * wb_getgrsid_send ( TALLOC_CTX * mem_ctx ,
struct tevent_context * ev ,
const struct dom_sid * group_sid ,
int max_nesting ) ;
NTSTATUS wb_getgrsid_recv ( struct tevent_req * req , TALLOC_CTX * mem_ctx ,
const char * * domname , const char * * name , gid_t * gid ,
2017-08-06 16:49:01 +03:00
struct db_context * * members ) ;
2009-08-16 13:25:31 +04:00
2009-08-16 14:13:00 +04:00
struct tevent_req * winbindd_getgrgid_send ( TALLOC_CTX * mem_ctx ,
struct tevent_context * ev ,
2009-08-16 14:46:55 +04:00
struct winbindd_cli_state * cli ,
2009-08-16 14:13:00 +04:00
struct winbindd_request * request ) ;
NTSTATUS winbindd_getgrgid_recv ( struct tevent_req * req ,
struct winbindd_response * response ) ;
2009-08-16 14:23:31 +04:00
struct tevent_req * winbindd_getgrnam_send ( TALLOC_CTX * mem_ctx ,
struct tevent_context * ev ,
2009-08-16 14:46:55 +04:00
struct winbindd_cli_state * cli ,
2009-08-16 14:23:31 +04:00
struct winbindd_request * request ) ;
NTSTATUS winbindd_getgrnam_recv ( struct tevent_req * req ,
struct winbindd_response * response ) ;
2009-08-27 16:55:41 +04:00
struct tevent_req * winbindd_getusersids_send ( TALLOC_CTX * mem_ctx ,
struct tevent_context * ev ,
struct winbindd_cli_state * cli ,
struct winbindd_request * request ) ;
NTSTATUS winbindd_getusersids_recv ( struct tevent_req * req ,
struct winbindd_response * response ) ;
2009-08-27 19:11:24 +04:00
struct tevent_req * winbindd_lookuprids_send ( TALLOC_CTX * mem_ctx ,
struct tevent_context * ev ,
struct winbindd_cli_state * cli ,
struct winbindd_request * request ) ;
NTSTATUS winbindd_lookuprids_recv ( struct tevent_req * req ,
struct winbindd_response * response ) ;
2009-08-18 00:40:19 +04:00
struct tevent_req * wb_query_user_list_send ( TALLOC_CTX * mem_ctx ,
struct tevent_context * ev ,
struct winbindd_domain * domain ) ;
NTSTATUS wb_query_user_list_recv ( struct tevent_req * req , TALLOC_CTX * mem_ctx ,
2017-01-02 18:19:14 +03:00
char * * users ) ;
2009-08-18 00:40:19 +04:00
2015-01-23 16:06:40 +03:00
struct tevent_req * wb_query_group_list_send ( TALLOC_CTX * mem_ctx ,
struct tevent_context * ev ,
struct winbindd_domain * domain ) ;
NTSTATUS wb_query_group_list_recv ( struct tevent_req * req , TALLOC_CTX * mem_ctx ,
2022-07-14 14:19:44 +03:00
uint32_t * num_users ,
2015-01-23 16:06:40 +03:00
struct wbint_Principal * * groups ) ;
2009-08-18 00:50:39 +04:00
struct tevent_req * wb_next_pwent_send ( TALLOC_CTX * mem_ctx ,
struct tevent_context * ev ,
struct getpwent_state * gstate ,
struct winbindd_pw * pw ) ;
NTSTATUS wb_next_pwent_recv ( struct tevent_req * req ) ;
2009-08-18 01:13:48 +04:00
struct tevent_req * winbindd_setpwent_send ( TALLOC_CTX * mem_ctx ,
struct tevent_context * ev ,
struct winbindd_cli_state * cli ,
struct winbindd_request * request ) ;
NTSTATUS winbindd_setpwent_recv ( struct tevent_req * req ,
struct winbindd_response * presp ) ;
struct tevent_req * winbindd_getpwent_send ( TALLOC_CTX * mem_ctx ,
struct tevent_context * ev ,
struct winbindd_cli_state * cli ,
struct winbindd_request * request ) ;
NTSTATUS winbindd_getpwent_recv ( struct tevent_req * req ,
struct winbindd_response * response ) ;
struct tevent_req * winbindd_endpwent_send ( TALLOC_CTX * mem_ctx ,
struct tevent_context * ev ,
struct winbindd_cli_state * cli ,
struct winbindd_request * request ) ;
NTSTATUS winbindd_endpwent_recv ( struct tevent_req * req ,
struct winbindd_response * response ) ;
2009-08-18 00:44:55 +04:00
2009-08-26 01:02:44 +04:00
struct tevent_req * winbindd_dsgetdcname_send ( TALLOC_CTX * mem_ctx ,
struct tevent_context * ev ,
struct winbindd_cli_state * cli ,
struct winbindd_request * request ) ;
NTSTATUS winbindd_dsgetdcname_recv ( struct tevent_req * req ,
struct winbindd_response * response ) ;
2009-08-26 13:33:16 +04:00
struct tevent_req * wb_dsgetdcname_send ( TALLOC_CTX * mem_ctx ,
struct tevent_context * ev ,
const char * domain_name ,
const struct GUID * domain_guid ,
const char * site_name ,
uint32_t flags ) ;
NTSTATUS wb_dsgetdcname_recv ( struct tevent_req * req , TALLOC_CTX * mem_ctx ,
struct netr_DsRGetDCNameInfo * * pdcinfo ) ;
2016-03-17 16:27:32 +03:00
NTSTATUS wb_dsgetdcname_gencache_set ( const char * domname ,
struct netr_DsRGetDCNameInfo * dcinfo ) ;
NTSTATUS wb_dsgetdcname_gencache_get ( TALLOC_CTX * mem_ctx ,
const char * domname ,
struct netr_DsRGetDCNameInfo * * dcinfo ) ;
2009-08-26 13:33:16 +04:00
2009-08-26 14:27:32 +04:00
struct tevent_req * winbindd_getdcname_send ( TALLOC_CTX * mem_ctx ,
struct tevent_context * ev ,
struct winbindd_cli_state * cli ,
struct winbindd_request * request ) ;
NTSTATUS winbindd_getdcname_recv ( struct tevent_req * req ,
struct winbindd_response * response ) ;
2009-08-27 23:53:15 +04:00
struct tevent_req * wb_next_grent_send ( TALLOC_CTX * mem_ctx ,
struct tevent_context * ev ,
int max_nesting ,
struct getgrent_state * gstate ,
struct winbindd_gr * gr ) ;
NTSTATUS wb_next_grent_recv ( struct tevent_req * req , TALLOC_CTX * mem_ctx ,
2017-08-06 16:49:01 +03:00
struct db_context * * members ) ;
2009-08-27 23:53:15 +04:00
2009-08-28 01:33:45 +04:00
struct tevent_req * winbindd_setgrent_send ( TALLOC_CTX * mem_ctx ,
struct tevent_context * ev ,
struct winbindd_cli_state * cli ,
struct winbindd_request * request ) ;
NTSTATUS winbindd_setgrent_recv ( struct tevent_req * req ,
struct winbindd_response * response ) ;
struct tevent_req * winbindd_getgrent_send ( TALLOC_CTX * mem_ctx ,
struct tevent_context * ev ,
struct winbindd_cli_state * cli ,
struct winbindd_request * request ) ;
NTSTATUS winbindd_getgrent_recv ( struct tevent_req * req ,
struct winbindd_response * response ) ;
struct tevent_req * winbindd_endgrent_send ( TALLOC_CTX * mem_ctx ,
struct tevent_context * ev ,
struct winbindd_cli_state * cli ,
struct winbindd_request * request ) ;
NTSTATUS winbindd_endgrent_recv ( struct tevent_req * req ,
struct winbindd_response * response ) ;
2009-08-29 18:05:02 +04:00
struct tevent_req * winbindd_list_users_send ( TALLOC_CTX * mem_ctx ,
struct tevent_context * ev ,
struct winbindd_cli_state * cli ,
struct winbindd_request * request ) ;
NTSTATUS winbindd_list_users_recv ( struct tevent_req * req ,
struct winbindd_response * response ) ;
2009-08-29 19:17:47 +04:00
struct tevent_req * winbindd_list_groups_send ( TALLOC_CTX * mem_ctx ,
struct tevent_context * ev ,
struct winbindd_cli_state * cli ,
struct winbindd_request * request ) ;
NTSTATUS winbindd_list_groups_recv ( struct tevent_req * req ,
struct winbindd_response * response ) ;
2009-09-06 11:32:34 +04:00
struct tevent_req * winbindd_check_machine_acct_send ( TALLOC_CTX * mem_ctx ,
struct tevent_context * ev ,
struct winbindd_cli_state * cli ,
struct winbindd_request * request ) ;
NTSTATUS winbindd_check_machine_acct_recv ( struct tevent_req * req ,
struct winbindd_response * presp ) ;
2009-08-29 19:17:47 +04:00
2009-12-21 23:50:43 +03:00
struct tevent_req * winbindd_ping_dc_send ( TALLOC_CTX * mem_ctx ,
struct tevent_context * ev ,
struct winbindd_cli_state * cli ,
struct winbindd_request * request ) ;
NTSTATUS winbindd_ping_dc_recv ( struct tevent_req * req ,
struct winbindd_response * presp ) ;
2009-10-06 20:26:33 +04:00
struct tevent_req * winbindd_change_machine_acct_send ( TALLOC_CTX * mem_ctx ,
struct tevent_context * ev ,
struct winbindd_cli_state * cli ,
struct winbindd_request * request ) ;
NTSTATUS winbindd_change_machine_acct_recv ( struct tevent_req * req ,
struct winbindd_response * presp ) ;
2010-03-29 19:52:38 +04:00
struct tevent_req * winbindd_pam_auth_send ( TALLOC_CTX * mem_ctx ,
struct tevent_context * ev ,
struct winbindd_cli_state * cli ,
struct winbindd_request * request ) ;
NTSTATUS winbindd_pam_auth_recv ( struct tevent_req * req ,
struct winbindd_response * response ) ;
2010-03-31 01:02:36 +04:00
struct tevent_req * winbindd_pam_auth_crap_send (
TALLOC_CTX * mem_ctx ,
struct tevent_context * ev ,
struct winbindd_cli_state * cli ,
struct winbindd_request * request ) ;
NTSTATUS winbindd_pam_auth_crap_recv ( struct tevent_req * req ,
struct winbindd_response * response ) ;
2010-04-01 14:35:14 +04:00
struct tevent_req * winbindd_pam_chauthtok_send (
TALLOC_CTX * mem_ctx ,
struct tevent_context * ev ,
struct winbindd_cli_state * cli ,
struct winbindd_request * request ) ;
NTSTATUS winbindd_pam_chauthtok_recv ( struct tevent_req * req ,
struct winbindd_response * response ) ;
2010-04-01 18:44:16 +04:00
struct tevent_req * winbindd_pam_logoff_send ( TALLOC_CTX * mem_ctx ,
struct tevent_context * ev ,
struct winbindd_cli_state * cli ,
struct winbindd_request * request ) ;
NTSTATUS winbindd_pam_logoff_recv ( struct tevent_req * req ,
struct winbindd_response * response ) ;
2010-04-20 13:11:19 +04:00
struct tevent_req * winbindd_pam_chng_pswd_auth_crap_send (
TALLOC_CTX * mem_ctx ,
struct tevent_context * ev ,
struct winbindd_cli_state * cli ,
struct winbindd_request * request ) ;
NTSTATUS winbindd_pam_chng_pswd_auth_crap_recv (
struct tevent_req * req ,
struct winbindd_response * response ) ;
2011-03-07 15:40:30 +03:00
struct tevent_req * wb_lookupsids_send ( TALLOC_CTX * mem_ctx ,
struct tevent_context * ev ,
struct dom_sid * sids ,
uint32_t num_sids ) ;
NTSTATUS wb_lookupsids_recv ( struct tevent_req * req , TALLOC_CTX * mem_ctx ,
struct lsa_RefDomainList * * domains ,
struct lsa_TransNameArray * * names ) ;
2012-11-17 05:30:07 +04:00
struct tevent_req * wb_sids2xids_send ( TALLOC_CTX * mem_ctx ,
struct tevent_context * ev ,
const struct dom_sid * sids ,
const uint32_t num_sids ) ;
NTSTATUS wb_sids2xids_recv ( struct tevent_req * req ,
2015-03-05 22:59:16 +03:00
struct unixid xids [ ] , uint32_t num_xids ) ;
2011-03-23 20:29:45 +03:00
struct tevent_req * winbindd_sids_to_xids_send ( TALLOC_CTX * mem_ctx ,
struct tevent_context * ev ,
struct winbindd_cli_state * cli ,
struct winbindd_request * request ) ;
NTSTATUS winbindd_sids_to_xids_recv ( struct tevent_req * req ,
struct winbindd_response * response ) ;
2015-08-20 18:07:47 +03:00
struct tevent_req * wb_xids2sids_send ( TALLOC_CTX * mem_ctx ,
struct tevent_context * ev ,
2019-02-22 18:29:07 +03:00
const struct unixid * xids ,
2015-08-20 18:07:47 +03:00
uint32_t num_xids ) ;
NTSTATUS wb_xids2sids_recv ( struct tevent_req * req , TALLOC_CTX * mem_ctx ,
struct dom_sid * * sids ) ;
2015-08-14 18:15:33 +03:00
struct tevent_req * winbindd_xids_to_sids_send ( TALLOC_CTX * mem_ctx ,
struct tevent_context * ev ,
struct winbindd_cli_state * cli ,
struct winbindd_request * request ) ;
NTSTATUS winbindd_xids_to_sids_recv ( struct tevent_req * req ,
struct winbindd_response * response ) ;
2011-06-05 13:30:43 +04:00
struct tevent_req * winbindd_wins_byip_send ( TALLOC_CTX * mem_ctx ,
struct tevent_context * ev ,
struct winbindd_cli_state * cli ,
struct winbindd_request * request ) ;
NTSTATUS winbindd_wins_byip_recv ( struct tevent_req * req ,
struct winbindd_response * presp ) ;
2011-06-15 01:51:10 +04:00
struct tevent_req * winbindd_wins_byname_send ( TALLOC_CTX * mem_ctx ,
struct tevent_context * ev ,
struct winbindd_cli_state * cli ,
struct winbindd_request * request ) ;
NTSTATUS winbindd_wins_byname_recv ( struct tevent_req * req ,
struct winbindd_response * presp ) ;
2018-05-02 21:47:49 +03:00
struct tevent_req * winbindd_domain_info_send (
TALLOC_CTX * mem_ctx ,
struct tevent_context * ev ,
struct winbindd_cli_state * cli ,
struct winbindd_request * request ) ;
NTSTATUS winbindd_domain_info_recv ( struct tevent_req * req ,
struct winbindd_response * response ) ;
2011-03-23 20:29:45 +03:00
2010-07-06 19:02:33 +04:00
/* The following definitions come from winbindd/winbindd_samr.c */
NTSTATUS open_internal_samr_conn ( TALLOC_CTX * mem_ctx ,
struct winbindd_domain * domain ,
struct rpc_pipe_client * * samr_pipe ,
struct policy_handle * samr_domain_hnd ) ;
2015-02-03 18:22:25 +03:00
NTSTATUS open_internal_lsa_conn ( TALLOC_CTX * mem_ctx ,
struct rpc_pipe_client * * lsa_pipe ,
struct policy_handle * lsa_hnd ) ;
2010-07-06 19:02:33 +04:00
2014-05-08 06:46:06 +04:00
/* The following definitions come from winbindd/winbindd_irpc.c */
NTSTATUS wb_irpc_register ( void ) ;
2016-01-06 00:37:30 +03:00
/* The following definitions come from winbindd/winbindd_reconnect.c */
bool reconnect_need_retry ( NTSTATUS status , struct winbindd_domain * domain ) ;
2017-11-21 13:44:12 +03:00
/* The following definitions come from winbindd/winbindd_gpupdate.c */
void gpupdate_init ( void ) ;
2022-10-14 18:00:45 +03:00
void gpupdate_user_init ( const char * user ) ;
2017-11-21 13:44:12 +03:00
2018-03-12 13:29:22 +03:00
/* The following comes from winbindd/winbindd_dual_srv.c */
bool reset_cm_connection_on_error ( struct winbindd_domain * domain ,
2018-03-12 18:11:37 +03:00
struct dcerpc_binding_handle * b ,
2018-03-12 13:29:22 +03:00
NTSTATUS status ) ;
2008-05-19 01:09:34 +04:00
# endif /* _WINBINDD_PROTO_H_ */