Changeset 745 for trunk/server/source3/winbindd/winbindd_proto.h
- Timestamp:
- Nov 27, 2012, 4:43:17 PM (13 years ago)
- Location:
- trunk/server
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/server
- Property svn:mergeinfo changed
/vendor/current merged: 581,587,591,594,597,600,615,618,740
- Property svn:mergeinfo changed
-
trunk/server/source3/winbindd/winbindd_proto.h
r414 r745 24 24 #define _WINBINDD_PROTO_H_ 25 25 26 27 /* The following definitions come from auth/token_util.c */28 29 bool nt_token_check_sid ( const DOM_SID *sid, const NT_USER_TOKEN *token );30 bool nt_token_check_domain_rid( NT_USER_TOKEN *token, uint32 rid );31 NT_USER_TOKEN *get_root_nt_token( void );32 NTSTATUS add_aliases(const DOM_SID *domain_sid,33 struct nt_user_token *token);34 struct nt_user_token *create_local_nt_token(TALLOC_CTX *mem_ctx,35 const DOM_SID *user_sid,36 bool is_guest,37 int num_groupsids,38 const DOM_SID *groupsids);39 void debug_nt_user_token(int dbg_class, int dbg_lev, NT_USER_TOKEN *token);40 void debug_unix_user_token(int dbg_class, int dbg_lev, uid_t uid, gid_t gid,41 int n_groups, gid_t *groups);42 43 /* The following definitions come from smbd/connection.c */44 45 bool yield_connection(connection_struct *conn, const char *name);46 int count_current_connections( const char *sharename, bool clear );47 int count_all_current_connections(void);48 bool claim_connection(connection_struct *conn, const char *name,49 uint32 msg_flags);50 bool register_message_flags(bool doreg, uint32 msg_flags);51 52 26 /* The following definitions come from winbindd/winbindd.c */ 53 54 struct event_context *winbind_event_context(void);55 27 struct messaging_context *winbind_messaging_context(void); 56 28 void request_error(struct winbindd_cli_state *state); … … 60 32 bool winbindd_use_idmap_cache(void); 61 33 bool winbindd_use_cache(void); 34 void winbindd_register_handlers(void); 35 const char *get_winbind_pipe_dir(void); 36 char *get_winbind_priv_pipe_dir(void); 62 37 int main(int argc, char **argv, char **envp); 63 38 … … 80 55 struct dom_sid **sids, 81 56 enum lsa_SidType **types); 82 83 /* The following definitions come from winbindd/winbindd_async.c */ 84 85 bool print_sidlist(TALLOC_CTX *mem_ctx, const DOM_SID *sids, 86 size_t num_sids, char **result, ssize_t *len); 87 bool parse_sidlist(TALLOC_CTX *mem_ctx, const char *sidstr, 88 DOM_SID **sids, size_t *num_sids); 57 NTSTATUS rpc_lookup_sids(TALLOC_CTX *mem_ctx, 58 struct winbindd_domain *domain, 59 struct lsa_SidArray *sids, 60 struct lsa_RefDomainList **pdomains, 61 struct lsa_TransNameArray **pnames); 89 62 90 63 /* The following definitions come from winbindd/winbindd_cache.c */ 91 64 92 void winbindd_check_cache_size(time_t t);93 65 struct cache_entry *centry_start(struct winbindd_domain *domain, NTSTATUS status); 94 NTSTATUS wcache_cached_creds_exist(struct winbindd_domain *domain, const DOM_SID*sid);66 NTSTATUS wcache_cached_creds_exist(struct winbindd_domain *domain, const struct dom_sid *sid); 95 67 NTSTATUS wcache_get_creds(struct winbindd_domain *domain, 96 68 TALLOC_CTX *mem_ctx, 97 const DOM_SID*sid,69 const struct dom_sid *sid, 98 70 const uint8 **cached_nt_pass, 99 71 const uint8 **cached_salt); 100 72 NTSTATUS wcache_save_creds(struct winbindd_domain *domain, 101 TALLOC_CTX *mem_ctx, 102 const DOM_SID *sid, 73 const struct dom_sid *sid, 103 74 const uint8 nt_pass[NT_HASH_LEN]); 104 75 void wcache_invalidate_samlogon(struct winbindd_domain *domain, 105 struct netr_SamInfo3 *info3);76 const struct dom_sid *user_sid); 106 77 bool wcache_invalidate_cache(void); 78 bool wcache_invalidate_cache_noinit(void); 107 79 bool init_wcache(void); 108 80 bool initialize_winbindd_cache(void); … … 120 92 struct dom_sid **sid_mem, char ***names, 121 93 uint32_t **name_types); 122 bool lookup_cached_sid(TALLOC_CTX *mem_ctx, const DOM_SID*sid,94 bool lookup_cached_sid(TALLOC_CTX *mem_ctx, const struct dom_sid *sid, 123 95 char **domain_name, char **name, 124 96 enum lsa_SidType *type); 125 bool lookup_cached_name(TALLOC_CTX *mem_ctx, 126 const char *domain_name, 97 bool lookup_cached_name(const char *domain_name, 127 98 const char *name, 128 DOM_SID*sid,99 struct dom_sid *sid, 129 100 enum lsa_SidType *type); 130 101 void cache_name2sid(struct winbindd_domain *domain, 131 102 const char *domain_name, const char *name, 132 enum lsa_SidType type, const DOM_SID*sid);103 enum lsa_SidType type, const struct dom_sid *sid); 133 104 NTSTATUS wcache_name_to_sid(struct winbindd_domain *domain, 134 105 const char *domain_name, … … 142 113 NTSTATUS wcache_lookup_useraliases(struct winbindd_domain *domain, 143 114 TALLOC_CTX *mem_ctx, 144 uint32 num_sids, const DOM_SID*sids,115 uint32 num_sids, const struct dom_sid *sids, 145 116 uint32 *pnum_aliases, uint32 **paliases); 146 117 NTSTATUS wcache_lookup_usergroups(struct winbindd_domain *domain, … … 152 123 void wcache_flush_cache(void); 153 124 NTSTATUS wcache_count_cached_creds(struct winbindd_domain *domain, int *count); 154 NTSTATUS wcache_remove_oldest_cached_creds(struct winbindd_domain *domain, const DOM_SID*sid) ;125 NTSTATUS wcache_remove_oldest_cached_creds(struct winbindd_domain *domain, const struct dom_sid *sid) ; 155 126 bool set_global_winbindd_state_offline(void); 156 127 void set_global_winbindd_state_online(void); … … 162 133 bool wcache_tdc_add_domain( struct winbindd_domain *domain ); 163 134 struct winbindd_tdc_domain * wcache_tdc_fetch_domain( TALLOC_CTX *ctx, const char *name ); 135 struct winbindd_tdc_domain* wcache_tdc_fetch_domainbysid(TALLOC_CTX *ctx, const struct dom_sid *sid); 164 136 void wcache_tdc_clear( void ); 137 #ifdef HAVE_ADS 138 struct ads_struct; 165 139 NTSTATUS nss_get_info_cached( struct winbindd_domain *domain, 166 const DOM_SID*user_sid,140 const struct dom_sid *user_sid, 167 141 TALLOC_CTX *ctx, 168 ADS_STRUCT *ads, LDAPMessage *msg,169 142 const char **homedir, const char **shell, 170 143 const char **gecos, gid_t *p_gid); 144 #endif 171 145 bool wcache_store_seqnum(const char *domain_name, uint32_t seqnum, 172 146 time_t last_seq_check); … … 182 156 struct winbindd_cli_state *state); 183 157 void winbindd_ccache_save(struct winbindd_cli_state *state); 184 enum winbindd_result winbindd_dual_ccache_save(185 struct winbindd_domain *domain, struct winbindd_cli_state *state);186 158 187 159 /* The following definitions come from winbindd/winbindd_cm.c */ … … 189 161 void set_domain_offline(struct winbindd_domain *domain); 190 162 void set_domain_online_request(struct winbindd_domain *domain); 191 void winbind_add_failed_connection_entry(const struct winbindd_domain *domain,192 const char *server,193 NTSTATUS result);194 163 void invalidate_cm_connection(struct winbindd_cm_conn *conn); 195 164 void close_conns_after_fork(void); … … 204 173 NTSTATUS cm_connect_netlogon(struct winbindd_domain *domain, 205 174 struct rpc_pipe_client **cli); 175 bool fetch_current_dc_from_gencache(TALLOC_CTX *mem_ctx, 176 const char *domain_name, 177 char **p_dc_name, char **p_dc_ip); 206 178 207 179 /* The following definitions come from winbindd/winbindd_cred_cache.c */ … … 236 208 NTSTATUS winbindd_get_creds(struct winbindd_domain *domain, 237 209 TALLOC_CTX *mem_ctx, 238 const DOM_SID*sid,210 const struct dom_sid *sid, 239 211 struct netr_SamInfo3 **info3, 240 212 const uint8 *cached_nt_pass[NT_HASH_LEN], 241 213 const uint8 *cred_salt[NT_HASH_LEN]); 242 214 NTSTATUS winbindd_store_creds(struct winbindd_domain *domain, 243 TALLOC_CTX *mem_ctx,244 215 const char *user, 245 216 const char *pass, 246 struct netr_SamInfo3 *info3, 247 const DOM_SID *user_sid); 217 struct netr_SamInfo3 *info3); 248 218 NTSTATUS winbindd_update_creds_by_info3(struct winbindd_domain *domain, 249 TALLOC_CTX *mem_ctx,250 219 const char *user, 251 220 const char *pass, 252 221 struct netr_SamInfo3 *info3); 253 NTSTATUS winbindd_update_creds_by_sid(struct winbindd_domain *domain,254 TALLOC_CTX *mem_ctx,255 const DOM_SID *sid,256 const char *pass);257 222 NTSTATUS winbindd_update_creds_by_name(struct winbindd_domain *domain, 258 TALLOC_CTX *mem_ctx,259 223 const char *user, 260 224 const char *pass); … … 262 226 /* The following definitions come from winbindd/winbindd_domain.c */ 263 227 264 void setup_domain_child(struct winbindd_domain *domain, 265 struct winbindd_child *child); 228 void setup_domain_child(struct winbindd_domain *domain); 266 229 267 230 /* The following definitions come from winbindd/winbindd_dual.c */ 231 232 struct dcerpc_binding_handle *dom_child_handle(struct winbindd_domain *domain); 233 struct winbindd_child *choose_domain_child(struct winbindd_domain *domain); 268 234 269 235 struct tevent_req *wb_child_request_send(TALLOC_CTX *mem_ctx, … … 280 246 struct winbindd_response **presponse, int *err); 281 247 282 void async_domain_request(TALLOC_CTX *mem_ctx,283 struct winbindd_domain *domain,284 struct winbindd_request *request,285 struct winbindd_response *response,286 void (*continuation)(void *private_data_data, bool success),287 void *private_data_data);288 void sendto_domain(struct winbindd_cli_state *state,289 struct winbindd_domain *domain);290 248 void setup_child(struct winbindd_domain *domain, struct winbindd_child *child, 291 249 const struct winbindd_child_dispatch_table *table, … … 324 282 struct server_id server_id, 325 283 DATA_BLOB *data); 326 bool winbindd_reinit_after_fork(const char *logfilename); 284 void winbind_msg_ip_dropped(struct messaging_context *msg_ctx, 285 void *private_data, 286 uint32_t msg_type, 287 struct server_id server_id, 288 DATA_BLOB *data); 289 void winbind_msg_ip_dropped_parent(struct messaging_context *msg_ctx, 290 void *private_data, 291 uint32_t msg_type, 292 struct server_id server_id, 293 DATA_BLOB *data); 294 NTSTATUS winbindd_reinit_after_fork(const struct winbindd_child *myself, 295 const char *logfilename); 327 296 struct winbindd_domain *wb_child_domain(void); 328 297 … … 350 319 void init_idmap_child(void); 351 320 struct winbindd_child *idmap_child(void); 321 struct idmap_domain *idmap_find_domain(const char *domname); 352 322 353 323 /* The following definitions come from winbindd/winbindd_locator.c */ … … 362 332 struct winbindd_cli_state *state); 363 333 void winbindd_show_sequence(struct winbindd_cli_state *state); 364 enum winbindd_result winbindd_dual_show_sequence(struct winbindd_domain *domain,365 struct winbindd_cli_state *state);366 334 void winbindd_domain_info(struct winbindd_cli_state *state); 335 void winbindd_dc_info(struct winbindd_cli_state *state); 367 336 void winbindd_ping(struct winbindd_cli_state *state); 368 337 void winbindd_info(struct winbindd_cli_state *state); … … 373 342 374 343 /* The following definitions come from winbindd/winbindd_ndr.c */ 375 344 struct ndr_print; 376 345 void ndr_print_winbindd_child(struct ndr_print *ndr, 377 346 const char *name, … … 390 359 391 360 bool check_request_flags(uint32_t flags); 361 uid_t get_uid_from_request(struct winbindd_request *request); 392 362 struct winbindd_domain *find_auth_domain(uint8_t flags, 393 363 const char *domain_name); 394 NTSTATUS check_info3_in_group(struct netr_SamInfo3 *info3,395 const char *group_sid);396 NTSTATUS append_auth_data(struct winbindd_cli_state *state,397 struct netr_SamInfo3 *info3,398 const char *name_domain,399 const char *name_user);400 void winbindd_pam_auth(struct winbindd_cli_state *state);401 364 enum winbindd_result winbindd_dual_pam_auth(struct winbindd_domain *domain, 402 365 struct winbindd_cli_state *state) ; 403 void winbindd_pam_auth_crap(struct winbindd_cli_state *state);404 366 enum winbindd_result winbindd_dual_pam_auth_crap(struct winbindd_domain *domain, 405 367 struct winbindd_cli_state *state) ; 406 void winbindd_pam_chauthtok(struct winbindd_cli_state *state);407 368 enum winbindd_result winbindd_dual_pam_chauthtok(struct winbindd_domain *contact_domain, 408 369 struct winbindd_cli_state *state); 409 void winbindd_pam_logoff(struct winbindd_cli_state *state);410 370 enum winbindd_result winbindd_dual_pam_logoff(struct winbindd_domain *domain, 411 371 struct winbindd_cli_state *state) ; 412 void winbindd_pam_chng_pswd_auth_crap(struct winbindd_cli_state *state);413 372 enum winbindd_result winbindd_dual_pam_chng_pswd_auth_crap(struct winbindd_domain *domainSt, struct winbindd_cli_state *state); 414 373 … … 416 375 417 376 struct winbindd_domain *domain_list(void); 418 void free_domain_list(void);377 bool domain_is_forest_root(const struct winbindd_domain *domain); 419 378 void rescan_trusted_domains(struct tevent_context *ev, struct tevent_timer *te, 420 379 struct timeval now, void *private_data); … … 422 381 struct winbindd_cli_state *state); 423 382 bool init_domain_list(void); 424 void check_domain_trusted( const char *name, const DOM_SID *user_sid );425 383 struct winbindd_domain *find_domain_from_name_noinit(const char *domain_name); 426 384 struct winbindd_domain *find_domain_from_name(const char *domain_name); 427 struct winbindd_domain *find_domain_from_sid_noinit(const DOM_SID*sid);428 struct winbindd_domain *find_domain_from_sid(const DOM_SID*sid);385 struct winbindd_domain *find_domain_from_sid_noinit(const struct dom_sid *sid); 386 struct winbindd_domain *find_domain_from_sid(const struct dom_sid *sid); 429 387 struct winbindd_domain *find_our_domain(void); 430 388 struct winbindd_domain *find_root_domain(void); 431 389 struct winbindd_domain *find_builtin_domain(void); 432 struct winbindd_domain *find_lookup_domain_from_sid(const DOM_SID*sid);390 struct winbindd_domain *find_lookup_domain_from_sid(const struct dom_sid *sid); 433 391 struct winbindd_domain *find_lookup_domain_from_name(const char *domain_name); 434 392 bool parse_domain_user(const char *domuser, fstring domain, fstring user); 435 393 bool parse_domain_user_talloc(TALLOC_CTX *mem_ctx, const char *domuser, 436 394 char **domain, char **user); 437 void parse_add_domuser(void *buf, char *domuser, int *len);438 395 bool canonicalize_username(fstring username_inout, fstring domain, fstring user); 439 396 void fill_domain_username(fstring name, const char *domain, const char *user, bool can_assume); … … 442 399 const char *user, 443 400 bool can_assume); 444 const char *get_winbind_pipe_dir(void) ;445 char *get_winbind_priv_pipe_dir(void) ;446 int open_winbindd_socket(void);447 int open_winbindd_priv_socket(void);448 401 struct winbindd_cli_state *winbindd_client_list(void); 449 402 void winbindd_add_client(struct winbindd_cli_state *cli); 450 403 void winbindd_remove_client(struct winbindd_cli_state *cli); 451 void winbindd_kill_all_clients(void);452 404 int winbindd_num_clients(void); 453 405 NTSTATUS lookup_usergroups_cached(struct winbindd_domain *domain, 454 406 TALLOC_CTX *mem_ctx, 455 const DOM_SID*user_sid,456 uint32 *p_num_groups, DOM_SID**user_sids);407 const struct dom_sid *user_sid, 408 uint32 *p_num_groups, struct dom_sid **user_sids); 457 409 458 410 NTSTATUS normalize_name_map(TALLOC_CTX *mem_ctx, … … 479 431 void set_auth_errors(struct winbindd_response *resp, NTSTATUS result); 480 432 bool is_domain_offline(const struct winbindd_domain *domain); 433 bool is_domain_online(const struct winbindd_domain *domain); 434 bool parse_sidlist(TALLOC_CTX *mem_ctx, const char *sidstr, 435 struct dom_sid **sids, uint32_t *num_sids); 481 436 482 437 /* The following definitions come from winbindd/winbindd_wins.c */ … … 494 449 struct winbindd_cli_state *state); 495 450 496 struct rpc_pipe_client *wbint_rpccli_create(TALLOC_CTX *mem_ctx,497 498 451 struct dcerpc_binding_handle *wbint_binding_handle(TALLOC_CTX *mem_ctx, 452 struct winbindd_domain *domain, 453 struct winbindd_child *child); 499 454 enum winbindd_result winbindd_dual_ndrcmd(struct winbindd_domain *domain, 500 455 struct winbindd_cli_state *state); … … 513 468 NTSTATUS winbindd_lookupsid_recv(struct tevent_req *req, 514 469 struct winbindd_response *response); 470 471 struct tevent_req *winbindd_lookupsids_send(TALLOC_CTX *mem_ctx, 472 struct tevent_context *ev, 473 struct winbindd_cli_state *cli, 474 struct winbindd_request *request); 475 NTSTATUS winbindd_lookupsids_recv(struct tevent_req *req, 476 struct winbindd_response *response); 515 477 516 478 struct tevent_req *wb_lookupname_send(TALLOC_CTX *mem_ctx, … … 847 809 struct winbindd_response *presp); 848 810 849 struct tevent_req *winbindd_set_mapping_send(TALLOC_CTX *mem_ctx, 850 struct tevent_context *ev, 851 struct winbindd_cli_state *cli, 852 struct winbindd_request *request); 853 NTSTATUS winbindd_set_mapping_recv(struct tevent_req *req, 854 struct winbindd_response *response); 855 856 struct tevent_req *winbindd_remove_mapping_send(TALLOC_CTX *mem_ctx, 857 struct tevent_context *ev, 858 struct winbindd_cli_state *cli, 859 struct winbindd_request *request); 860 NTSTATUS winbindd_remove_mapping_recv(struct tevent_req *req, 861 struct winbindd_response *response); 862 863 struct tevent_req *winbindd_set_hwm_send(TALLOC_CTX *mem_ctx, 864 struct tevent_context *ev, 865 struct winbindd_cli_state *cli, 866 struct winbindd_request *request); 867 NTSTATUS winbindd_set_hwm_recv(struct tevent_req *req, 868 struct winbindd_response *response); 811 struct tevent_req *winbindd_pam_auth_send(TALLOC_CTX *mem_ctx, 812 struct tevent_context *ev, 813 struct winbindd_cli_state *cli, 814 struct winbindd_request *request); 815 NTSTATUS winbindd_pam_auth_recv(struct tevent_req *req, 816 struct winbindd_response *response); 817 818 struct tevent_req *winbindd_pam_auth_crap_send( 819 TALLOC_CTX *mem_ctx, 820 struct tevent_context *ev, 821 struct winbindd_cli_state *cli, 822 struct winbindd_request *request); 823 NTSTATUS winbindd_pam_auth_crap_recv(struct tevent_req *req, 824 struct winbindd_response *response); 825 826 struct tevent_req *winbindd_pam_chauthtok_send( 827 TALLOC_CTX *mem_ctx, 828 struct tevent_context *ev, 829 struct winbindd_cli_state *cli, 830 struct winbindd_request *request); 831 NTSTATUS winbindd_pam_chauthtok_recv(struct tevent_req *req, 832 struct winbindd_response *response); 833 834 struct tevent_req *winbindd_pam_logoff_send(TALLOC_CTX *mem_ctx, 835 struct tevent_context *ev, 836 struct winbindd_cli_state *cli, 837 struct winbindd_request *request); 838 NTSTATUS winbindd_pam_logoff_recv(struct tevent_req *req, 839 struct winbindd_response *response); 840 841 struct tevent_req *winbindd_pam_chng_pswd_auth_crap_send( 842 TALLOC_CTX *mem_ctx, 843 struct tevent_context *ev, 844 struct winbindd_cli_state *cli, 845 struct winbindd_request *request); 846 NTSTATUS winbindd_pam_chng_pswd_auth_crap_recv( 847 struct tevent_req *req, 848 struct winbindd_response *response); 849 850 struct tevent_req *wb_lookupsids_send(TALLOC_CTX *mem_ctx, 851 struct tevent_context *ev, 852 struct dom_sid *sids, 853 uint32_t num_sids); 854 NTSTATUS wb_lookupsids_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx, 855 struct lsa_RefDomainList **domains, 856 struct lsa_TransNameArray **names); 857 858 struct tevent_req *winbindd_sids_to_xids_send(TALLOC_CTX *mem_ctx, 859 struct tevent_context *ev, 860 struct winbindd_cli_state *cli, 861 struct winbindd_request *request); 862 NTSTATUS winbindd_sids_to_xids_recv(struct tevent_req *req, 863 struct winbindd_response *response); 864 865 866 /* The following definitions come from winbindd/winbindd_samr.c */ 867 868 NTSTATUS open_internal_samr_conn(TALLOC_CTX *mem_ctx, 869 struct winbindd_domain *domain, 870 struct rpc_pipe_client **samr_pipe, 871 struct policy_handle *samr_domain_hnd); 869 872 870 873 #endif /* _WINBINDD_PROTO_H_ */
Note:
See TracChangeset
for help on using the changeset viewer.