From 7a1b7a14e42ae186a22321c611cba8cf4c7ccc49 Mon Sep 17 00:00:00 2001 From: Michael Adam Date: Sun, 18 May 2008 23:26:51 +0200 Subject: smbclient: freeze client_proto.h from "make proto" Michael (This used to be commit f8c0710165ee1ede46d7ed34daa5564d20d3f069) --- source3/client/client_proto.h | 457 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 457 insertions(+) create mode 100644 source3/client/client_proto.h (limited to 'source3/client/client_proto.h') diff --git a/source3/client/client_proto.h b/source3/client/client_proto.h new file mode 100644 index 0000000000..8e260581e5 --- /dev/null +++ b/source3/client/client_proto.h @@ -0,0 +1,457 @@ +/* + * 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 . + */ + +#ifndef _CLIENT_PROTO_H_ +#define _CLIENT_PROTO_H_ + + +/* The following definitions come from client/client.c */ + +const char *client_get_cur_dir(void); +const char *client_set_cur_dir(const char *newdir); +void do_list(const char *mask, + uint16 attribute, + void (*fn)(file_info *, const char *dir), + bool rec, + bool dirs); +int cmd_iosize(void); + +/* The following definitions come from client/clitar.c */ + +int cmd_block(void); +int cmd_tarmode(void); +int cmd_setmode(void); +int cmd_tar(void); +int process_tar(void); +int tar_parseargs(int argc, char *argv[], const char *Optarg, int Optind); + +/* The following definitions come from client/dnsbrowse.c */ + +int do_smb_browse(void); +int do_smb_browse(void); + +/* The following definitions come from rpc_client/cli_netlogon.c */ + +NTSTATUS rpccli_netlogon_setup_creds(struct rpc_pipe_client *cli, + const char *server_name, + const char *domain, + const char *clnt_name, + const char *machine_account, + const unsigned char machine_pwd[16], + enum netr_SchannelType sec_chan_type, + uint32_t *neg_flags_inout); +NTSTATUS rpccli_netlogon_sam_logon(struct rpc_pipe_client *cli, + TALLOC_CTX *mem_ctx, + uint32 logon_parameters, + const char *domain, + const char *username, + const char *password, + const char *workstation, + int logon_type); +NTSTATUS rpccli_netlogon_sam_network_logon(struct rpc_pipe_client *cli, + TALLOC_CTX *mem_ctx, + uint32 logon_parameters, + const char *server, + const char *username, + const char *domain, + const char *workstation, + const uint8 chal[8], + DATA_BLOB lm_response, + DATA_BLOB nt_response, + struct netr_SamInfo3 **info3); +NTSTATUS rpccli_netlogon_sam_network_logon_ex(struct rpc_pipe_client *cli, + TALLOC_CTX *mem_ctx, + uint32 logon_parameters, + const char *server, + const char *username, + const char *domain, + const char *workstation, + const uint8 chal[8], + DATA_BLOB lm_response, + DATA_BLOB nt_response, + struct netr_SamInfo3 **info3); + +/* The following definitions come from rpc_client/cli_pipe.c */ + +NTSTATUS rpc_api_pipe_req(struct rpc_pipe_client *cli, + uint8 op_num, + prs_struct *in_data, + prs_struct *out_data); +NTSTATUS rpc_pipe_bind(struct rpc_pipe_client *cli, + struct cli_pipe_auth_data *auth); +unsigned int rpccli_set_timeout(struct rpc_pipe_client *cli, + unsigned int timeout); +bool rpccli_is_pipe_idx(struct rpc_pipe_client *cli, int pipe_idx); +bool rpccli_get_pwd_hash(struct rpc_pipe_client *cli, uint8_t nt_hash[16]); +struct cli_state *rpc_pipe_np_smb_conn(struct rpc_pipe_client *p); +NTSTATUS rpccli_anon_bind_data(TALLOC_CTX *mem_ctx, + struct cli_pipe_auth_data **presult); +NTSTATUS rpccli_ntlmssp_bind_data(TALLOC_CTX *mem_ctx, + enum pipe_auth_type auth_type, + enum pipe_auth_level auth_level, + const char *domain, + const char *username, + const char *password, + struct cli_pipe_auth_data **presult); +NTSTATUS rpccli_schannel_bind_data(TALLOC_CTX *mem_ctx, const char *domain, + enum pipe_auth_level auth_level, + const struct dcinfo *pdc, + struct cli_pipe_auth_data **presult); +NTSTATUS rpccli_kerberos_bind_data(TALLOC_CTX *mem_ctx, + enum pipe_auth_level auth_level, + const char *service_princ, + const char *username, + const char *password, + struct cli_pipe_auth_data **presult); +NTSTATUS rpc_pipe_open_tcp(TALLOC_CTX *mem_ctx, const char *host, + uint16_t port, + const struct ndr_syntax_id *abstract_syntax, + struct rpc_pipe_client **presult); +struct rpc_pipe_client *cli_rpc_pipe_open_noauth(struct cli_state *cli, int pipe_idx, NTSTATUS *perr); +struct rpc_pipe_client *cli_rpc_pipe_open_ntlmssp(struct cli_state *cli, + int pipe_idx, + enum pipe_auth_level auth_level, + const char *domain, + const char *username, + const char *password, + NTSTATUS *perr); +struct rpc_pipe_client *cli_rpc_pipe_open_spnego_ntlmssp(struct cli_state *cli, + int pipe_idx, + enum pipe_auth_level auth_level, + const char *domain, + const char *username, + const char *password, + NTSTATUS *perr); +struct rpc_pipe_client *get_schannel_session_key(struct cli_state *cli, + const char *domain, + uint32 *pneg_flags, + NTSTATUS *perr); +struct rpc_pipe_client *cli_rpc_pipe_open_schannel_with_key(struct cli_state *cli, + int pipe_idx, + enum pipe_auth_level auth_level, + const char *domain, + const struct dcinfo *pdc, + NTSTATUS *perr); +struct rpc_pipe_client *cli_rpc_pipe_open_ntlmssp_auth_schannel(struct cli_state *cli, + int pipe_idx, + enum pipe_auth_level auth_level, + const char *domain, + const char *username, + const char *password, + NTSTATUS *perr); +struct rpc_pipe_client *cli_rpc_pipe_open_schannel(struct cli_state *cli, + int pipe_idx, + enum pipe_auth_level auth_level, + const char *domain, + NTSTATUS *perr); +struct rpc_pipe_client *cli_rpc_pipe_open_krb5(struct cli_state *cli, + int pipe_idx, + enum pipe_auth_level auth_level, + const char *service_princ, + const char *username, + const char *password, + NTSTATUS *perr); + +/* The following definitions come from rpc_client/init_lsa.c */ + +void init_lsa_String(struct lsa_String *name, const char *s); +void init_lsa_StringLarge(struct lsa_StringLarge *name, const char *s); +void init_lsa_AsciiString(struct lsa_AsciiString *name, const char *s); +void init_lsa_AsciiStringLarge(struct lsa_AsciiStringLarge *name, const char *s); +void init_lsa_sec_qos(struct lsa_QosInfo *r, + uint32_t len, + uint16_t impersonation_level, + uint8_t context_mode, + uint8_t effective_only); +void init_lsa_obj_attr(struct lsa_ObjectAttribute *r, + uint32_t len, + uint8_t *root_dir, + const char *object_name, + uint32_t attributes, + struct security_descriptor *sec_desc, + struct lsa_QosInfo *sec_qos); +void init_lsa_translated_sid(struct lsa_TranslatedSid *r, + enum lsa_SidType sid_type, + uint32_t rid, + uint32_t sid_index); +void init_lsa_translated_name2(struct lsa_TranslatedName2 *r, + enum lsa_SidType sid_type, + const char *name, + uint32_t sid_index, + uint32_t unknown); + +/* The following definitions come from rpc_client/init_netlogon.c */ + +void init_netr_SamBaseInfo(struct netr_SamBaseInfo *r, + NTTIME last_logon, + NTTIME last_logoff, + NTTIME acct_expiry, + NTTIME last_password_change, + NTTIME allow_password_change, + NTTIME force_password_change, + const char *account_name, + const char *full_name, + const char *logon_script, + const char *profile_path, + const char *home_directory, + const char *home_drive, + uint16_t logon_count, + uint16_t bad_password_count, + uint32_t rid, + uint32_t primary_gid, + struct samr_RidWithAttributeArray groups, + uint32_t user_flags, + struct netr_UserSessionKey key, + const char *logon_server, + const char *domain, + struct dom_sid2 *domain_sid, + struct netr_LMSessionKey LMSessKey, + uint32_t acct_flags); +void init_netr_SamInfo3(struct netr_SamInfo3 *r, + NTTIME last_logon, + NTTIME last_logoff, + NTTIME acct_expiry, + NTTIME last_password_change, + NTTIME allow_password_change, + NTTIME force_password_change, + const char *account_name, + const char *full_name, + const char *logon_script, + const char *profile_path, + const char *home_directory, + const char *home_drive, + uint16_t logon_count, + uint16_t bad_password_count, + uint32_t rid, + uint32_t primary_gid, + struct samr_RidWithAttributeArray groups, + uint32_t user_flags, + struct netr_UserSessionKey key, + const char *logon_server, + const char *domain, + struct dom_sid2 *domain_sid, + struct netr_LMSessionKey LMSessKey, + uint32_t acct_flags, + uint32_t sidcount, + struct netr_SidAttr *sids); +NTSTATUS serverinfo_to_SamInfo3(struct auth_serversupplied_info *server_info, + uint8_t pipe_session_key[16], + struct netr_SamInfo3 *sam3); +void init_netr_IdentityInfo(struct netr_IdentityInfo *r, + const char *domain_name, + uint32_t parameter_control, + uint32_t logon_id_low, + uint32_t logon_id_high, + const char *account_name, + const char *workstation); +void init_netr_NetworkInfo(struct netr_NetworkInfo *r, + const char *domain_name, + uint32_t parameter_control, + uint32_t logon_id_low, + uint32_t logon_id_high, + const char *account_name, + const char *workstation, + uint8_t challenge[8], + struct netr_ChallengeResponse nt, + struct netr_ChallengeResponse lm); +void init_netr_PasswordInfo(struct netr_PasswordInfo *r, + const char *domain_name, + uint32_t parameter_control, + uint32_t logon_id_low, + uint32_t logon_id_high, + const char *account_name, + const char *workstation, + struct samr_Password lmpassword, + struct samr_Password ntpassword); + +/* The following definitions come from rpc_client/init_srvsvc.c */ + +void init_srvsvc_NetSrvInfo102(struct srvsvc_NetSrvInfo102 *r, + enum srvsvc_PlatformId platform_id, + const char *server_name, + uint32_t version_major, + uint32_t version_minor, + uint32_t server_type, + const char *comment, + uint32_t users, + uint32_t disc, + uint32_t hidden, + uint32_t announce, + uint32_t anndelta, + uint32_t licenses, + const char *userpath); +void init_srvsvc_NetSrvInfo101(struct srvsvc_NetSrvInfo101 *r, + enum srvsvc_PlatformId platform_id, + const char *server_name, + uint32_t version_major, + uint32_t version_minor, + uint32_t server_type, + const char *comment); +void init_srvsvc_NetSrvInfo100(struct srvsvc_NetSrvInfo100 *r, + enum srvsvc_PlatformId platform_id, + const char *server_name); +void init_srvsvc_NetShareInfo0(struct srvsvc_NetShareInfo0 *r, + const char *name); +void init_srvsvc_NetShareInfo1(struct srvsvc_NetShareInfo1 *r, + const char *name, + enum srvsvc_ShareType type, + const char *comment); +void init_srvsvc_NetShareInfo2(struct srvsvc_NetShareInfo2 *r, + const char *name, + enum srvsvc_ShareType type, + const char *comment, + uint32_t permissions, + uint32_t max_users, + uint32_t current_users, + const char *path, + const char *password); +void init_srvsvc_NetShareInfo501(struct srvsvc_NetShareInfo501 *r, + const char *name, + enum srvsvc_ShareType type, + const char *comment, + uint32_t csc_policy); +void init_srvsvc_NetShareInfo502(struct srvsvc_NetShareInfo502 *r, + const char *name, + enum srvsvc_ShareType type, + const char *comment, + uint32_t permissions, + uint32_t max_users, + uint32_t current_users, + const char *path, + const char *password, + struct sec_desc_buf *sd_buf); +void init_srvsvc_NetShareInfo1004(struct srvsvc_NetShareInfo1004 *r, + const char *comment); +void init_srvsvc_NetShareInfo1005(struct srvsvc_NetShareInfo1005 *r, + uint32_t dfs_flags); +void init_srvsvc_NetShareInfo1006(struct srvsvc_NetShareInfo1006 *r, + uint32_t max_users); +void init_srvsvc_NetShareInfo1007(struct srvsvc_NetShareInfo1007 *r, + uint32_t flags, + const char *alternate_directory_name); +void init_srvsvc_NetRemoteTODInfo(struct srvsvc_NetRemoteTODInfo *r, + uint32_t elapsed, + uint32_t msecs, + uint32_t hours, + uint32_t mins, + uint32_t secs, + uint32_t hunds, + int32_t ttimezone, + uint32_t tinterval, + uint32_t day, + uint32_t month, + uint32_t year, + uint32_t weekday); +void init_srvsvc_NetSessInfo0(struct srvsvc_NetSessInfo0 *r, + const char *client); +void init_srvsvc_NetSessInfo1(struct srvsvc_NetSessInfo1 *r, + const char *client, + const char *user, + uint32_t num_open, + uint32_t _time, + uint32_t idle_time, + uint32_t user_flags); +void init_srvsvc_NetSessInfo2(struct srvsvc_NetSessInfo2 *r, + const char *client, + const char *user, + uint32_t num_open, + uint32_t _time, + uint32_t idle_time, + uint32_t user_flags, + const char *client_type); +void init_srvsvc_NetSessInfo10(struct srvsvc_NetSessInfo10 *r, + const char *client, + const char *user, + uint32_t _time, + uint32_t idle_time); +void init_srvsvc_NetSessInfo502(struct srvsvc_NetSessInfo502 *r, + const char *client, + const char *user, + uint32_t num_open, + uint32_t _time, + uint32_t idle_time, + uint32_t user_flags, + const char *client_type, + const char *transport); +void init_srvsvc_NetFileInfo2(struct srvsvc_NetFileInfo2 *r, + uint32_t fid); +void init_srvsvc_NetFileInfo3(struct srvsvc_NetFileInfo3 *r, + uint32_t fid, + uint32_t permissions, + uint32_t num_locks, + const char *path, + const char *user); +void init_srvsvc_NetConnInfo0(struct srvsvc_NetConnInfo0 *r, + uint32_t conn_id); +void init_srvsvc_NetConnInfo1(struct srvsvc_NetConnInfo1 *r, + uint32_t conn_id, + uint32_t conn_type, + uint32_t num_open, + uint32_t num_users, + uint32_t conn_time, + const char *user, + const char *share); + +/* The following definitions come from rpc_parse/parse_rpc.c */ + +const char *cli_get_pipe_name(int pipe_idx); +int cli_get_pipe_idx(const RPC_IFACE *syntax); +void init_rpc_hdr(RPC_HDR *hdr, enum RPC_PKT_TYPE pkt_type, uint8 flags, + uint32 call_id, int data_len, int auth_len); +bool smb_io_rpc_hdr(const char *desc, RPC_HDR *rpc, prs_struct *ps, int depth); +void init_rpc_context(RPC_CONTEXT *rpc_ctx, uint16 context_id, + const RPC_IFACE *abstract, const RPC_IFACE *transfer); +void init_rpc_hdr_rb(RPC_HDR_RB *rpc, + uint16 max_tsize, uint16 max_rsize, uint32 assoc_gid, + RPC_CONTEXT *context); +bool smb_io_rpc_context(const char *desc, RPC_CONTEXT *rpc_ctx, prs_struct *ps, int depth); +bool smb_io_rpc_hdr_rb(const char *desc, RPC_HDR_RB *rpc, prs_struct *ps, int depth); +void init_rpc_hdr_ba(RPC_HDR_BA *rpc, + uint16 max_tsize, uint16 max_rsize, uint32 assoc_gid, + const char *pipe_addr, + uint8 num_results, uint16 result, uint16 reason, + RPC_IFACE *transfer); +bool smb_io_rpc_hdr_ba(const char *desc, RPC_HDR_BA *rpc, prs_struct *ps, int depth); +void init_rpc_hdr_req(RPC_HDR_REQ *hdr, uint32 alloc_hint, uint16 opnum); +bool smb_io_rpc_hdr_req(const char *desc, RPC_HDR_REQ *rpc, prs_struct *ps, int depth); +bool smb_io_rpc_hdr_resp(const char *desc, RPC_HDR_RESP *rpc, prs_struct *ps, int depth); +bool smb_io_rpc_hdr_fault(const char *desc, RPC_HDR_FAULT *rpc, prs_struct *ps, int depth); +void init_rpc_hdr_auth(RPC_HDR_AUTH *rai, + uint8 auth_type, uint8 auth_level, + uint8 auth_pad_len, + uint32 auth_context_id); +bool smb_io_rpc_hdr_auth(const char *desc, RPC_HDR_AUTH *rai, prs_struct *ps, int depth); +bool rpc_auth_verifier_chk(RPC_AUTH_VERIFIER *rav, + const char *signature, uint32 msg_type); +void init_rpc_auth_verifier(RPC_AUTH_VERIFIER *rav, + const char *signature, uint32 msg_type); +bool smb_io_rpc_auth_verifier(const char *desc, RPC_AUTH_VERIFIER *rav, prs_struct *ps, int depth); +bool smb_io_rpc_schannel_verifier(const char *desc, RPC_AUTH_VERIFIER *rav, prs_struct *ps, int depth); +void init_rpc_auth_schannel_neg(RPC_AUTH_SCHANNEL_NEG *neg, + const char *domain, const char *myname); +bool smb_io_rpc_auth_schannel_neg(const char *desc, RPC_AUTH_SCHANNEL_NEG *neg, + prs_struct *ps, int depth); +bool smb_io_rpc_auth_schannel_chk(const char *desc, int auth_len, + RPC_AUTH_SCHANNEL_CHK * chk, + prs_struct *ps, int depth); + +#endif /* _CLIENT_PROTO_H_ */ -- cgit From 59a6b2df747796dadebf92001a32cba0e6a80252 Mon Sep 17 00:00:00 2001 From: Kai Blin Date: Thu, 22 May 2008 09:40:25 +0200 Subject: client: Fix the proto header to fix the build. (This used to be commit 9e39ac1cc31d48db968e79c4698901e079007ff7) --- source3/client/client_proto.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'source3/client/client_proto.h') diff --git a/source3/client/client_proto.h b/source3/client/client_proto.h index 8e260581e5..d88805a097 100644 --- a/source3/client/client_proto.h +++ b/source3/client/client_proto.h @@ -114,7 +114,7 @@ NTSTATUS rpccli_ntlmssp_bind_data(TALLOC_CTX *mem_ctx, struct cli_pipe_auth_data **presult); NTSTATUS rpccli_schannel_bind_data(TALLOC_CTX *mem_ctx, const char *domain, enum pipe_auth_level auth_level, - const struct dcinfo *pdc, + const uint8_t sess_key[16], struct cli_pipe_auth_data **presult); NTSTATUS rpccli_kerberos_bind_data(TALLOC_CTX *mem_ctx, enum pipe_auth_level auth_level, -- cgit From b398a96b09af5268e71bd3108f6c1e97568736f8 Mon Sep 17 00:00:00 2001 From: Michael Adam Date: Tue, 20 May 2008 18:08:41 +0200 Subject: rpc_client: use endpoint mapper to get the port for rpc_pipe_open_tcp(). Michael (This used to be commit f7db445c828c0eef2c08b538bd07d485dc248689) --- source3/client/client_proto.h | 1 - 1 file changed, 1 deletion(-) (limited to 'source3/client/client_proto.h') diff --git a/source3/client/client_proto.h b/source3/client/client_proto.h index d88805a097..7adc086186 100644 --- a/source3/client/client_proto.h +++ b/source3/client/client_proto.h @@ -123,7 +123,6 @@ NTSTATUS rpccli_kerberos_bind_data(TALLOC_CTX *mem_ctx, const char *password, struct cli_pipe_auth_data **presult); NTSTATUS rpc_pipe_open_tcp(TALLOC_CTX *mem_ctx, const char *host, - uint16_t port, const struct ndr_syntax_id *abstract_syntax, struct rpc_pipe_client **presult); struct rpc_pipe_client *cli_rpc_pipe_open_noauth(struct cli_state *cli, int pipe_idx, NTSTATUS *perr); -- cgit From 37aaa8d8f9806c146ae6c20e3664422c824b84f5 Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Sun, 25 May 2008 11:43:15 +0200 Subject: Remove stuff from client_proto.h (This used to be commit c1e115964b671802a4af5beab3ad3222ee17b9c0) --- source3/client/client_proto.h | 404 ------------------------------------------ 1 file changed, 404 deletions(-) (limited to 'source3/client/client_proto.h') diff --git a/source3/client/client_proto.h b/source3/client/client_proto.h index 7adc086186..aa3eb0e8af 100644 --- a/source3/client/client_proto.h +++ b/source3/client/client_proto.h @@ -49,408 +49,4 @@ int tar_parseargs(int argc, char *argv[], const char *Optarg, int Optind); int do_smb_browse(void); int do_smb_browse(void); -/* The following definitions come from rpc_client/cli_netlogon.c */ - -NTSTATUS rpccli_netlogon_setup_creds(struct rpc_pipe_client *cli, - const char *server_name, - const char *domain, - const char *clnt_name, - const char *machine_account, - const unsigned char machine_pwd[16], - enum netr_SchannelType sec_chan_type, - uint32_t *neg_flags_inout); -NTSTATUS rpccli_netlogon_sam_logon(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - uint32 logon_parameters, - const char *domain, - const char *username, - const char *password, - const char *workstation, - int logon_type); -NTSTATUS rpccli_netlogon_sam_network_logon(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - uint32 logon_parameters, - const char *server, - const char *username, - const char *domain, - const char *workstation, - const uint8 chal[8], - DATA_BLOB lm_response, - DATA_BLOB nt_response, - struct netr_SamInfo3 **info3); -NTSTATUS rpccli_netlogon_sam_network_logon_ex(struct rpc_pipe_client *cli, - TALLOC_CTX *mem_ctx, - uint32 logon_parameters, - const char *server, - const char *username, - const char *domain, - const char *workstation, - const uint8 chal[8], - DATA_BLOB lm_response, - DATA_BLOB nt_response, - struct netr_SamInfo3 **info3); - -/* The following definitions come from rpc_client/cli_pipe.c */ - -NTSTATUS rpc_api_pipe_req(struct rpc_pipe_client *cli, - uint8 op_num, - prs_struct *in_data, - prs_struct *out_data); -NTSTATUS rpc_pipe_bind(struct rpc_pipe_client *cli, - struct cli_pipe_auth_data *auth); -unsigned int rpccli_set_timeout(struct rpc_pipe_client *cli, - unsigned int timeout); -bool rpccli_is_pipe_idx(struct rpc_pipe_client *cli, int pipe_idx); -bool rpccli_get_pwd_hash(struct rpc_pipe_client *cli, uint8_t nt_hash[16]); -struct cli_state *rpc_pipe_np_smb_conn(struct rpc_pipe_client *p); -NTSTATUS rpccli_anon_bind_data(TALLOC_CTX *mem_ctx, - struct cli_pipe_auth_data **presult); -NTSTATUS rpccli_ntlmssp_bind_data(TALLOC_CTX *mem_ctx, - enum pipe_auth_type auth_type, - enum pipe_auth_level auth_level, - const char *domain, - const char *username, - const char *password, - struct cli_pipe_auth_data **presult); -NTSTATUS rpccli_schannel_bind_data(TALLOC_CTX *mem_ctx, const char *domain, - enum pipe_auth_level auth_level, - const uint8_t sess_key[16], - struct cli_pipe_auth_data **presult); -NTSTATUS rpccli_kerberos_bind_data(TALLOC_CTX *mem_ctx, - enum pipe_auth_level auth_level, - const char *service_princ, - const char *username, - const char *password, - struct cli_pipe_auth_data **presult); -NTSTATUS rpc_pipe_open_tcp(TALLOC_CTX *mem_ctx, const char *host, - const struct ndr_syntax_id *abstract_syntax, - struct rpc_pipe_client **presult); -struct rpc_pipe_client *cli_rpc_pipe_open_noauth(struct cli_state *cli, int pipe_idx, NTSTATUS *perr); -struct rpc_pipe_client *cli_rpc_pipe_open_ntlmssp(struct cli_state *cli, - int pipe_idx, - enum pipe_auth_level auth_level, - const char *domain, - const char *username, - const char *password, - NTSTATUS *perr); -struct rpc_pipe_client *cli_rpc_pipe_open_spnego_ntlmssp(struct cli_state *cli, - int pipe_idx, - enum pipe_auth_level auth_level, - const char *domain, - const char *username, - const char *password, - NTSTATUS *perr); -struct rpc_pipe_client *get_schannel_session_key(struct cli_state *cli, - const char *domain, - uint32 *pneg_flags, - NTSTATUS *perr); -struct rpc_pipe_client *cli_rpc_pipe_open_schannel_with_key(struct cli_state *cli, - int pipe_idx, - enum pipe_auth_level auth_level, - const char *domain, - const struct dcinfo *pdc, - NTSTATUS *perr); -struct rpc_pipe_client *cli_rpc_pipe_open_ntlmssp_auth_schannel(struct cli_state *cli, - int pipe_idx, - enum pipe_auth_level auth_level, - const char *domain, - const char *username, - const char *password, - NTSTATUS *perr); -struct rpc_pipe_client *cli_rpc_pipe_open_schannel(struct cli_state *cli, - int pipe_idx, - enum pipe_auth_level auth_level, - const char *domain, - NTSTATUS *perr); -struct rpc_pipe_client *cli_rpc_pipe_open_krb5(struct cli_state *cli, - int pipe_idx, - enum pipe_auth_level auth_level, - const char *service_princ, - const char *username, - const char *password, - NTSTATUS *perr); - -/* The following definitions come from rpc_client/init_lsa.c */ - -void init_lsa_String(struct lsa_String *name, const char *s); -void init_lsa_StringLarge(struct lsa_StringLarge *name, const char *s); -void init_lsa_AsciiString(struct lsa_AsciiString *name, const char *s); -void init_lsa_AsciiStringLarge(struct lsa_AsciiStringLarge *name, const char *s); -void init_lsa_sec_qos(struct lsa_QosInfo *r, - uint32_t len, - uint16_t impersonation_level, - uint8_t context_mode, - uint8_t effective_only); -void init_lsa_obj_attr(struct lsa_ObjectAttribute *r, - uint32_t len, - uint8_t *root_dir, - const char *object_name, - uint32_t attributes, - struct security_descriptor *sec_desc, - struct lsa_QosInfo *sec_qos); -void init_lsa_translated_sid(struct lsa_TranslatedSid *r, - enum lsa_SidType sid_type, - uint32_t rid, - uint32_t sid_index); -void init_lsa_translated_name2(struct lsa_TranslatedName2 *r, - enum lsa_SidType sid_type, - const char *name, - uint32_t sid_index, - uint32_t unknown); - -/* The following definitions come from rpc_client/init_netlogon.c */ - -void init_netr_SamBaseInfo(struct netr_SamBaseInfo *r, - NTTIME last_logon, - NTTIME last_logoff, - NTTIME acct_expiry, - NTTIME last_password_change, - NTTIME allow_password_change, - NTTIME force_password_change, - const char *account_name, - const char *full_name, - const char *logon_script, - const char *profile_path, - const char *home_directory, - const char *home_drive, - uint16_t logon_count, - uint16_t bad_password_count, - uint32_t rid, - uint32_t primary_gid, - struct samr_RidWithAttributeArray groups, - uint32_t user_flags, - struct netr_UserSessionKey key, - const char *logon_server, - const char *domain, - struct dom_sid2 *domain_sid, - struct netr_LMSessionKey LMSessKey, - uint32_t acct_flags); -void init_netr_SamInfo3(struct netr_SamInfo3 *r, - NTTIME last_logon, - NTTIME last_logoff, - NTTIME acct_expiry, - NTTIME last_password_change, - NTTIME allow_password_change, - NTTIME force_password_change, - const char *account_name, - const char *full_name, - const char *logon_script, - const char *profile_path, - const char *home_directory, - const char *home_drive, - uint16_t logon_count, - uint16_t bad_password_count, - uint32_t rid, - uint32_t primary_gid, - struct samr_RidWithAttributeArray groups, - uint32_t user_flags, - struct netr_UserSessionKey key, - const char *logon_server, - const char *domain, - struct dom_sid2 *domain_sid, - struct netr_LMSessionKey LMSessKey, - uint32_t acct_flags, - uint32_t sidcount, - struct netr_SidAttr *sids); -NTSTATUS serverinfo_to_SamInfo3(struct auth_serversupplied_info *server_info, - uint8_t pipe_session_key[16], - struct netr_SamInfo3 *sam3); -void init_netr_IdentityInfo(struct netr_IdentityInfo *r, - const char *domain_name, - uint32_t parameter_control, - uint32_t logon_id_low, - uint32_t logon_id_high, - const char *account_name, - const char *workstation); -void init_netr_NetworkInfo(struct netr_NetworkInfo *r, - const char *domain_name, - uint32_t parameter_control, - uint32_t logon_id_low, - uint32_t logon_id_high, - const char *account_name, - const char *workstation, - uint8_t challenge[8], - struct netr_ChallengeResponse nt, - struct netr_ChallengeResponse lm); -void init_netr_PasswordInfo(struct netr_PasswordInfo *r, - const char *domain_name, - uint32_t parameter_control, - uint32_t logon_id_low, - uint32_t logon_id_high, - const char *account_name, - const char *workstation, - struct samr_Password lmpassword, - struct samr_Password ntpassword); - -/* The following definitions come from rpc_client/init_srvsvc.c */ - -void init_srvsvc_NetSrvInfo102(struct srvsvc_NetSrvInfo102 *r, - enum srvsvc_PlatformId platform_id, - const char *server_name, - uint32_t version_major, - uint32_t version_minor, - uint32_t server_type, - const char *comment, - uint32_t users, - uint32_t disc, - uint32_t hidden, - uint32_t announce, - uint32_t anndelta, - uint32_t licenses, - const char *userpath); -void init_srvsvc_NetSrvInfo101(struct srvsvc_NetSrvInfo101 *r, - enum srvsvc_PlatformId platform_id, - const char *server_name, - uint32_t version_major, - uint32_t version_minor, - uint32_t server_type, - const char *comment); -void init_srvsvc_NetSrvInfo100(struct srvsvc_NetSrvInfo100 *r, - enum srvsvc_PlatformId platform_id, - const char *server_name); -void init_srvsvc_NetShareInfo0(struct srvsvc_NetShareInfo0 *r, - const char *name); -void init_srvsvc_NetShareInfo1(struct srvsvc_NetShareInfo1 *r, - const char *name, - enum srvsvc_ShareType type, - const char *comment); -void init_srvsvc_NetShareInfo2(struct srvsvc_NetShareInfo2 *r, - const char *name, - enum srvsvc_ShareType type, - const char *comment, - uint32_t permissions, - uint32_t max_users, - uint32_t current_users, - const char *path, - const char *password); -void init_srvsvc_NetShareInfo501(struct srvsvc_NetShareInfo501 *r, - const char *name, - enum srvsvc_ShareType type, - const char *comment, - uint32_t csc_policy); -void init_srvsvc_NetShareInfo502(struct srvsvc_NetShareInfo502 *r, - const char *name, - enum srvsvc_ShareType type, - const char *comment, - uint32_t permissions, - uint32_t max_users, - uint32_t current_users, - const char *path, - const char *password, - struct sec_desc_buf *sd_buf); -void init_srvsvc_NetShareInfo1004(struct srvsvc_NetShareInfo1004 *r, - const char *comment); -void init_srvsvc_NetShareInfo1005(struct srvsvc_NetShareInfo1005 *r, - uint32_t dfs_flags); -void init_srvsvc_NetShareInfo1006(struct srvsvc_NetShareInfo1006 *r, - uint32_t max_users); -void init_srvsvc_NetShareInfo1007(struct srvsvc_NetShareInfo1007 *r, - uint32_t flags, - const char *alternate_directory_name); -void init_srvsvc_NetRemoteTODInfo(struct srvsvc_NetRemoteTODInfo *r, - uint32_t elapsed, - uint32_t msecs, - uint32_t hours, - uint32_t mins, - uint32_t secs, - uint32_t hunds, - int32_t ttimezone, - uint32_t tinterval, - uint32_t day, - uint32_t month, - uint32_t year, - uint32_t weekday); -void init_srvsvc_NetSessInfo0(struct srvsvc_NetSessInfo0 *r, - const char *client); -void init_srvsvc_NetSessInfo1(struct srvsvc_NetSessInfo1 *r, - const char *client, - const char *user, - uint32_t num_open, - uint32_t _time, - uint32_t idle_time, - uint32_t user_flags); -void init_srvsvc_NetSessInfo2(struct srvsvc_NetSessInfo2 *r, - const char *client, - const char *user, - uint32_t num_open, - uint32_t _time, - uint32_t idle_time, - uint32_t user_flags, - const char *client_type); -void init_srvsvc_NetSessInfo10(struct srvsvc_NetSessInfo10 *r, - const char *client, - const char *user, - uint32_t _time, - uint32_t idle_time); -void init_srvsvc_NetSessInfo502(struct srvsvc_NetSessInfo502 *r, - const char *client, - const char *user, - uint32_t num_open, - uint32_t _time, - uint32_t idle_time, - uint32_t user_flags, - const char *client_type, - const char *transport); -void init_srvsvc_NetFileInfo2(struct srvsvc_NetFileInfo2 *r, - uint32_t fid); -void init_srvsvc_NetFileInfo3(struct srvsvc_NetFileInfo3 *r, - uint32_t fid, - uint32_t permissions, - uint32_t num_locks, - const char *path, - const char *user); -void init_srvsvc_NetConnInfo0(struct srvsvc_NetConnInfo0 *r, - uint32_t conn_id); -void init_srvsvc_NetConnInfo1(struct srvsvc_NetConnInfo1 *r, - uint32_t conn_id, - uint32_t conn_type, - uint32_t num_open, - uint32_t num_users, - uint32_t conn_time, - const char *user, - const char *share); - -/* The following definitions come from rpc_parse/parse_rpc.c */ - -const char *cli_get_pipe_name(int pipe_idx); -int cli_get_pipe_idx(const RPC_IFACE *syntax); -void init_rpc_hdr(RPC_HDR *hdr, enum RPC_PKT_TYPE pkt_type, uint8 flags, - uint32 call_id, int data_len, int auth_len); -bool smb_io_rpc_hdr(const char *desc, RPC_HDR *rpc, prs_struct *ps, int depth); -void init_rpc_context(RPC_CONTEXT *rpc_ctx, uint16 context_id, - const RPC_IFACE *abstract, const RPC_IFACE *transfer); -void init_rpc_hdr_rb(RPC_HDR_RB *rpc, - uint16 max_tsize, uint16 max_rsize, uint32 assoc_gid, - RPC_CONTEXT *context); -bool smb_io_rpc_context(const char *desc, RPC_CONTEXT *rpc_ctx, prs_struct *ps, int depth); -bool smb_io_rpc_hdr_rb(const char *desc, RPC_HDR_RB *rpc, prs_struct *ps, int depth); -void init_rpc_hdr_ba(RPC_HDR_BA *rpc, - uint16 max_tsize, uint16 max_rsize, uint32 assoc_gid, - const char *pipe_addr, - uint8 num_results, uint16 result, uint16 reason, - RPC_IFACE *transfer); -bool smb_io_rpc_hdr_ba(const char *desc, RPC_HDR_BA *rpc, prs_struct *ps, int depth); -void init_rpc_hdr_req(RPC_HDR_REQ *hdr, uint32 alloc_hint, uint16 opnum); -bool smb_io_rpc_hdr_req(const char *desc, RPC_HDR_REQ *rpc, prs_struct *ps, int depth); -bool smb_io_rpc_hdr_resp(const char *desc, RPC_HDR_RESP *rpc, prs_struct *ps, int depth); -bool smb_io_rpc_hdr_fault(const char *desc, RPC_HDR_FAULT *rpc, prs_struct *ps, int depth); -void init_rpc_hdr_auth(RPC_HDR_AUTH *rai, - uint8 auth_type, uint8 auth_level, - uint8 auth_pad_len, - uint32 auth_context_id); -bool smb_io_rpc_hdr_auth(const char *desc, RPC_HDR_AUTH *rai, prs_struct *ps, int depth); -bool rpc_auth_verifier_chk(RPC_AUTH_VERIFIER *rav, - const char *signature, uint32 msg_type); -void init_rpc_auth_verifier(RPC_AUTH_VERIFIER *rav, - const char *signature, uint32 msg_type); -bool smb_io_rpc_auth_verifier(const char *desc, RPC_AUTH_VERIFIER *rav, prs_struct *ps, int depth); -bool smb_io_rpc_schannel_verifier(const char *desc, RPC_AUTH_VERIFIER *rav, prs_struct *ps, int depth); -void init_rpc_auth_schannel_neg(RPC_AUTH_SCHANNEL_NEG *neg, - const char *domain, const char *myname); -bool smb_io_rpc_auth_schannel_neg(const char *desc, RPC_AUTH_SCHANNEL_NEG *neg, - prs_struct *ps, int depth); -bool smb_io_rpc_auth_schannel_chk(const char *desc, int auth_len, - RPC_AUTH_SCHANNEL_CHK * chk, - prs_struct *ps, int depth); - #endif /* _CLIENT_PROTO_H_ */ -- cgit