mirror of
https://github.com/samba-team/samba.git
synced 2025-02-03 13:47:25 +03:00
first pass at merging rpcclient from TNG to HEAD. You can get a
semi-connection and a rpcclient prompt, but no functionality there yet. Will be a few more days on that. The changes to the header files were minor. A few struct's and a few additional fields to existing ones. No deletions. **minimal change necessary** :-) Well, maybe not minimal, but I tried. All other programs compile, link and run ok from what I can tell so I don;t think I broke anything. --jerry (This used to be commit cd7f0b0b91afd3331c0607ba2fcb3ccdd41ecebf)
This commit is contained in:
parent
098b7b378c
commit
8d429db410
@ -124,6 +124,8 @@ struct cli_state {
|
||||
fstring clnt_name_slash; /* \\local client. */
|
||||
uint16 max_xmit_frag;
|
||||
uint16 max_recv_frag;
|
||||
vuser_key key;
|
||||
uint32 ntlmssp_flags;
|
||||
|
||||
BOOL use_oplocks; /* should we use oplocks? */
|
||||
};
|
||||
|
@ -221,6 +221,28 @@ struct acct_info
|
||||
uint32 smb_userid; /* domain-relative RID */
|
||||
};
|
||||
|
||||
struct cli_connection;
|
||||
|
||||
typedef struct cli_auth_fns
|
||||
{
|
||||
/* these three will do for now. they *should* match with server-side */
|
||||
BOOL (*create_bind_req) (struct cli_connection *, prs_struct *,
|
||||
uint32, RPC_IFACE *, RPC_IFACE *);
|
||||
BOOL (*decode_bind_resp) (struct cli_connection *, prs_struct *);
|
||||
BOOL (*create_bind_cont) (struct cli_connection *, prs_struct *,
|
||||
uint32);
|
||||
/* creates an authenticated PDU */
|
||||
BOOL (*cli_create_pdu) (struct cli_connection *, uint8,
|
||||
prs_struct *, int, int *,
|
||||
prs_struct *, uint8 *);
|
||||
/* decodes an authenticated PDU */
|
||||
BOOL (*cli_decode_pdu) (struct cli_connection *, prs_struct *,
|
||||
int, int);
|
||||
|
||||
}
|
||||
cli_auth_fns;
|
||||
|
||||
|
||||
/* security descriptor structures */
|
||||
#include "rpc_secdes.h"
|
||||
|
||||
|
@ -613,6 +613,7 @@ int cli_set_port(struct cli_state *cli, int port);
|
||||
BOOL cli_receive_smb(struct cli_state *cli);
|
||||
BOOL cli_send_smb(struct cli_state *cli);
|
||||
void cli_setup_packet(struct cli_state *cli);
|
||||
void cli_init_creds(struct cli_state *cli, const struct ntuser_creds *usr);
|
||||
struct cli_state *cli_initialise(struct cli_state *cli);
|
||||
void cli_shutdown(struct cli_state *cli);
|
||||
void cli_sockopt(struct cli_state *cli, char *options);
|
||||
@ -741,7 +742,10 @@ struct in_addr *name_query(int fd,const char *name,int name_type,
|
||||
FILE *startlmhosts(char *fname);
|
||||
BOOL getlmhostsent( FILE *fp, pstring name, int *name_type, struct in_addr *ipaddr);
|
||||
void endlmhosts(FILE *fp);
|
||||
BOOL is_ip_address(const char *name);
|
||||
BOOL resolve_name(const char *name, struct in_addr *return_ip, int name_type);
|
||||
BOOL resolve_srv_name(const char* srv_name, fstring dest_host,
|
||||
struct in_addr *ip);
|
||||
BOOL find_master_ip(char *group, struct in_addr *master_ip);
|
||||
BOOL lookup_pdc_name(const char *srcname, const char *domain, struct in_addr *pdc_ip, char *ret_name);
|
||||
BOOL get_dc_list(char *group, struct in_addr **ip_list, int *count);
|
||||
@ -771,7 +775,8 @@ int name_len(char *s1);
|
||||
|
||||
/*The following definitions come from libsmb/nterr.c */
|
||||
|
||||
char *get_nt_error_msg(uint32 nt_code);
|
||||
BOOL get_safe_nt_error_msg(uint32 nt_code,char *msg, size_t len);
|
||||
const char *get_nt_error_msg(uint32 nt_code);
|
||||
|
||||
/*The following definitions come from libsmb/passchange.c */
|
||||
|
||||
@ -782,6 +787,7 @@ BOOL remote_password_change(const char *remote_machine, const char *user_name,
|
||||
/*The following definitions come from libsmb/pwd_cache.c */
|
||||
|
||||
void pwd_init(struct pwd_info *pwd);
|
||||
BOOL pwd_is_nullpwd(const struct pwd_info *pwd);
|
||||
BOOL pwd_compare(struct pwd_info *pwd1, struct pwd_info *pwd2);
|
||||
void pwd_read(struct pwd_info *pwd, char *passwd_report, BOOL do_encrypt);
|
||||
void pwd_set_nullpwd(struct pwd_info *pwd);
|
||||
@ -1696,6 +1702,12 @@ BOOL print_queue_purge(int snum, uint16 vuid);
|
||||
|
||||
BOOL profile_setup(BOOL rdonly);
|
||||
|
||||
/*The following definitions come from rpc_client/cli_connect.c */
|
||||
|
||||
void init_connections(void);
|
||||
void free_connections(void);
|
||||
void cli_connection_free(struct cli_connection *con);
|
||||
|
||||
/*The following definitions come from rpc_client/cli_login.c */
|
||||
|
||||
BOOL cli_nt_setup_creds(struct cli_state *cli, unsigned char mach_pwd[16]);
|
||||
@ -1854,12 +1866,37 @@ BOOL do_srv_net_srv_file_enum(struct cli_state *cli,
|
||||
BOOL do_srv_net_srv_get_info(struct cli_state *cli,
|
||||
char *server_name, uint32 switch_value, SRV_INFO_CTR *ctr);
|
||||
|
||||
/*The following definitions come from rpc_client/cli_use.c */
|
||||
|
||||
void init_cli_use(void);
|
||||
void free_cli_use(void);
|
||||
struct cli_state *cli_net_use_add(const char *srv_name,
|
||||
const struct ntuser_creds *usr_creds,
|
||||
BOOL reuse, BOOL *is_new);
|
||||
BOOL cli_net_use_del(const char *srv_name,
|
||||
const struct ntuser_creds *usr_creds,
|
||||
BOOL force_close, BOOL *connection_closed);
|
||||
void cli_net_use_enum(uint32 *num_cons, struct use_info ***use);
|
||||
void cli_use_wait_keyboard(void);
|
||||
|
||||
/*The following definitions come from rpc_client/cli_wkssvc.c */
|
||||
|
||||
BOOL do_wks_query_info(struct cli_state *cli,
|
||||
char *server_name, uint32 switch_value,
|
||||
WKS_INFO_100 *wks100);
|
||||
|
||||
/*The following definitions come from rpc_client/ncacn_np_use.c */
|
||||
|
||||
BOOL ncacn_np_use_del(const char *srv_name, const char *pipe_name,
|
||||
const vuser_key * key,
|
||||
BOOL force_close, BOOL *connection_closed);
|
||||
|
||||
/*The following definitions come from rpc_client/ncalrpc_l_use.c */
|
||||
|
||||
BOOL ncalrpc_l_use_del(const char *pipe_name,
|
||||
const vuser_key * key,
|
||||
BOOL force_close, BOOL *connection_closed);
|
||||
|
||||
/*The following definitions come from rpc_parse/parse_creds.c */
|
||||
|
||||
BOOL make_creds_unix(CREDS_UNIX *r_u, const char* user_name,
|
||||
@ -2994,109 +3031,6 @@ uint32 lookup_user_rid(char *user_name, uint32 *rid);
|
||||
BOOL api_wkssvc_rpc(pipes_struct *p);
|
||||
#endif
|
||||
|
||||
/*The following definitions come from rpcclient/cmd_lsarpc.c */
|
||||
|
||||
void cmd_lsa_query_info(struct client_info *info);
|
||||
void cmd_lsa_lookup_sids(struct client_info *info);
|
||||
|
||||
/*The following definitions come from rpcclient/cmd_netlogon.c */
|
||||
|
||||
void cmd_netlogon_login_test(struct client_info *info);
|
||||
|
||||
/*The following definitions come from rpcclient/cmd_reg.c */
|
||||
|
||||
void cmd_reg_enum(struct client_info *info);
|
||||
void cmd_reg_query_key(struct client_info *info);
|
||||
void cmd_reg_create_val(struct client_info *info);
|
||||
void cmd_reg_delete_val(struct client_info *info);
|
||||
void cmd_reg_delete_key(struct client_info *info);
|
||||
void cmd_reg_create_key(struct client_info *info);
|
||||
void cmd_reg_test_key_sec(struct client_info *info);
|
||||
void cmd_reg_get_key_sec(struct client_info *info);
|
||||
|
||||
/*The following definitions come from rpcclient/cmd_samr.c */
|
||||
|
||||
void cmd_sam_ntchange_pwd(struct client_info *info);
|
||||
void cmd_sam_test(struct client_info *info);
|
||||
void cmd_sam_enum_users(struct client_info *info);
|
||||
void cmd_sam_query_user(struct client_info *info);
|
||||
void cmd_sam_query_groups(struct client_info *info);
|
||||
void cmd_sam_enum_aliases(struct client_info *info);
|
||||
|
||||
/*The following definitions come from rpcclient/cmd_srvsvc.c */
|
||||
|
||||
void cmd_srv_query_info(struct client_info *info);
|
||||
void cmd_srv_enum_conn(struct client_info *info);
|
||||
void cmd_srv_enum_shares(struct client_info *info);
|
||||
void cmd_srv_enum_sess(struct client_info *info);
|
||||
void cmd_srv_enum_files(struct client_info *info);
|
||||
|
||||
/*The following definitions come from rpcclient/cmd_wkssvc.c */
|
||||
|
||||
void cmd_wks_query_info(struct client_info *info);
|
||||
|
||||
/*The following definitions come from rpcclient/display.c */
|
||||
|
||||
char *get_file_mode_str(uint32 share_mode);
|
||||
char *get_file_oplock_str(uint32 op_type);
|
||||
char *get_share_type_str(uint32 type);
|
||||
char *get_server_type_str(uint32 type);
|
||||
void display_srv_info_101(FILE *out_hnd, enum action_type action,
|
||||
SRV_INFO_101 *sv101);
|
||||
void display_srv_info_102(FILE *out_hnd, enum action_type action,SRV_INFO_102 *sv102);
|
||||
void display_srv_info_ctr(FILE *out_hnd, enum action_type action,SRV_INFO_CTR *ctr);
|
||||
void display_conn_info_0(FILE *out_hnd, enum action_type action,
|
||||
CONN_INFO_0 *info0);
|
||||
void display_conn_info_1(FILE *out_hnd, enum action_type action,
|
||||
CONN_INFO_1 *info1, CONN_INFO_1_STR *str1);
|
||||
void display_srv_conn_info_0_ctr(FILE *out_hnd, enum action_type action,
|
||||
SRV_CONN_INFO_0 *ctr);
|
||||
void display_srv_conn_info_1_ctr(FILE *out_hnd, enum action_type action,
|
||||
SRV_CONN_INFO_1 *ctr);
|
||||
void display_srv_conn_info_ctr(FILE *out_hnd, enum action_type action,
|
||||
SRV_CONN_INFO_CTR *ctr);
|
||||
void display_share_info_1(FILE *out_hnd, enum action_type action,
|
||||
SRV_SHARE_INFO_1 *info1);
|
||||
void display_share_info_2(FILE *out_hnd, enum action_type action,
|
||||
SRV_SHARE_INFO_2 *info2);
|
||||
void display_srv_share_info_ctr(FILE *out_hnd, enum action_type action,
|
||||
SRV_SHARE_INFO_CTR *ctr);
|
||||
void display_file_info_3(FILE *out_hnd, enum action_type action,
|
||||
FILE_INFO_3 *info3, FILE_INFO_3_STR *str3);
|
||||
void display_srv_file_info_3_ctr(FILE *out_hnd, enum action_type action,
|
||||
SRV_FILE_INFO_3 *ctr);
|
||||
void display_srv_file_info_ctr(FILE *out_hnd, enum action_type action,
|
||||
SRV_FILE_INFO_CTR *ctr);
|
||||
void display_server(FILE *out_hnd, enum action_type action,
|
||||
char *sname, uint32 type, char *comment);
|
||||
void display_share(FILE *out_hnd, enum action_type action,
|
||||
char *sname, uint32 type, char *comment);
|
||||
void display_share2(FILE *out_hnd, enum action_type action,
|
||||
char *sname, uint32 type, char *comment,
|
||||
uint32 perms, uint32 max_uses, uint32 num_uses,
|
||||
char *path, char *passwd);
|
||||
void display_name(FILE *out_hnd, enum action_type action,
|
||||
char *sname);
|
||||
void display_group_rid_info(FILE *out_hnd, enum action_type action,
|
||||
uint32 num_gids, DOM_GID *gid);
|
||||
void display_alias_name_info(FILE *out_hnd, enum action_type action,
|
||||
uint32 num_aliases, fstring *alias_name, uint32 *num_als_usrs);
|
||||
void display_sam_user_info_21(FILE *out_hnd, enum action_type action, SAM_USER_INFO_21 *usr);
|
||||
char *get_sec_mask_str(uint32 type);
|
||||
void display_sec_access(FILE *out_hnd, enum action_type action, SEC_ACCESS *info);
|
||||
void display_sec_ace(FILE *out_hnd, enum action_type action, SEC_ACE *ace);
|
||||
void display_sec_acl(FILE *out_hnd, enum action_type action, SEC_ACL *sec_acl);
|
||||
void display_sec_desc(FILE *out_hnd, enum action_type action, SEC_DESC *sec);
|
||||
char *get_reg_val_type_str(uint32 type);
|
||||
void display_reg_value_info(FILE *out_hnd, enum action_type action,
|
||||
char *val_name, uint32 val_type, BUFFER2 *value);
|
||||
void display_reg_key_info(FILE *out_hnd, enum action_type action,
|
||||
char *key_name, time_t key_mod_time);
|
||||
|
||||
/*The following definitions come from rpcclient/rpcclient.c */
|
||||
|
||||
void rpcclient_init(void);
|
||||
|
||||
/*The following definitions come from smbd/blocking.c */
|
||||
|
||||
#if OLD_NTDOMAIN
|
||||
|
27
source3/include/rpc_client.h
Normal file
27
source3/include/rpc_client.h
Normal file
@ -0,0 +1,27 @@
|
||||
/*
|
||||
Unix SMB/Netbios implementation.
|
||||
Version 1.9.
|
||||
SMB parameters and setup
|
||||
Copyright (C) Elrond 2000
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
#ifndef _RPC_CLIENT_H
|
||||
#define _RPC_CLIENT_H
|
||||
|
||||
#include "rpc_client_proto.h"
|
||||
|
||||
#endif /* _RPC_CLIENT_H */
|
200
source3/include/rpc_client_proto.h
Normal file
200
source3/include/rpc_client_proto.h
Normal file
@ -0,0 +1,200 @@
|
||||
#ifndef _RPC_CLIENT_PROTO_H_
|
||||
#define _RPC_CLIENT_PROTO_H_
|
||||
/* This file is automatically generated with "make proto". DO NOT EDIT */
|
||||
|
||||
|
||||
/*The following definitions come from rpc_client/cli_connect.c */
|
||||
|
||||
void init_connections(void);
|
||||
void free_connections(void);
|
||||
void cli_connection_free(struct cli_connection *con);
|
||||
|
||||
/*The following definitions come from rpc_client/cli_login.c */
|
||||
|
||||
BOOL cli_nt_setup_creds(struct cli_state *cli, unsigned char mach_pwd[16]);
|
||||
BOOL cli_nt_srv_pwset(struct cli_state *cli, unsigned char *new_hashof_mach_pwd);
|
||||
BOOL cli_nt_login_interactive(struct cli_state *cli, char *domain, char *username,
|
||||
uint32 smb_userid_low, char *password,
|
||||
NET_ID_INFO_CTR *ctr, NET_USER_INFO_3 *user_info3);
|
||||
BOOL cli_nt_login_network(struct cli_state *cli, char *domain, char *username,
|
||||
uint32 smb_userid_low, char lm_chal[8], char lm_chal_resp[24],
|
||||
char nt_chal_resp[24],
|
||||
NET_ID_INFO_CTR *ctr, NET_USER_INFO_3 *user_info3);
|
||||
BOOL cli_nt_logoff(struct cli_state *cli, NET_ID_INFO_CTR *ctr);
|
||||
|
||||
/*The following definitions come from rpc_client/cli_lsarpc.c */
|
||||
|
||||
BOOL do_lsa_open_policy(struct cli_state *cli,
|
||||
char *system_name, POLICY_HND *hnd,
|
||||
BOOL sec_qos);
|
||||
BOOL do_lsa_lookup_sids(struct cli_state *cli,
|
||||
POLICY_HND *hnd,
|
||||
int num_sids,
|
||||
DOM_SID **sids,
|
||||
char ***names,
|
||||
int *num_names);
|
||||
BOOL do_lsa_query_info_pol(struct cli_state *cli,
|
||||
POLICY_HND *hnd, uint16 info_class,
|
||||
fstring domain_name, DOM_SID *domain_sid);
|
||||
BOOL do_lsa_close(struct cli_state *cli, POLICY_HND *hnd);
|
||||
BOOL cli_lsa_get_domain_sid(struct cli_state *cli, char *server);
|
||||
|
||||
/*The following definitions come from rpc_client/cli_netlogon.c */
|
||||
|
||||
BOOL cli_net_logon_ctrl2(struct cli_state *cli, uint32 status_level);
|
||||
BOOL cli_net_auth2(struct cli_state *cli, uint16 sec_chan,
|
||||
uint32 neg_flags, DOM_CHAL *srv_chal);
|
||||
BOOL cli_net_req_chal(struct cli_state *cli, DOM_CHAL *clnt_chal, DOM_CHAL *srv_chal);
|
||||
BOOL cli_net_srv_pwset(struct cli_state *cli, uint8 hashed_mach_pwd[16]);
|
||||
BOOL cli_net_sam_logon(struct cli_state *cli, NET_ID_INFO_CTR *ctr,
|
||||
NET_USER_INFO_3 *user_info3);
|
||||
BOOL cli_net_sam_logoff(struct cli_state *cli, NET_ID_INFO_CTR *ctr);
|
||||
BOOL change_trust_account_password( char *domain, char *remote_machine_list);
|
||||
|
||||
/*The following definitions come from rpc_client/cli_pipe.c */
|
||||
|
||||
BOOL rpc_api_pipe_req(struct cli_state *cli, uint8 op_num,
|
||||
prs_struct *data, prs_struct *rdata);
|
||||
void cli_nt_set_ntlmssp_flgs(struct cli_state *cli, uint32 ntlmssp_flgs);
|
||||
BOOL cli_nt_session_open(struct cli_state *cli, char *pipe_name);
|
||||
void cli_nt_session_close(struct cli_state *cli);
|
||||
|
||||
/*The following definitions come from rpc_client/cli_reg.c */
|
||||
|
||||
BOOL do_reg_connect(struct cli_state *cli, char *full_keyname, char *key_name,
|
||||
POLICY_HND *reg_hnd);
|
||||
BOOL do_reg_open_hklm(struct cli_state *cli, uint16 unknown_0, uint32 level,
|
||||
POLICY_HND *hnd);
|
||||
BOOL do_reg_open_hku(struct cli_state *cli, uint16 unknown_0, uint32 level,
|
||||
POLICY_HND *hnd);
|
||||
BOOL do_reg_flush_key(struct cli_state *cli, POLICY_HND *hnd);
|
||||
BOOL do_reg_query_key(struct cli_state *cli, POLICY_HND *hnd,
|
||||
char *class, uint32 *class_len,
|
||||
uint32 *num_subkeys, uint32 *max_subkeylen,
|
||||
uint32 *max_subkeysize, uint32 *num_values,
|
||||
uint32 *max_valnamelen, uint32 *max_valbufsize,
|
||||
uint32 *sec_desc, NTTIME *mod_time);
|
||||
BOOL do_reg_unknown_1a(struct cli_state *cli, POLICY_HND *hnd, uint32 *unk);
|
||||
BOOL do_reg_query_info(struct cli_state *cli, POLICY_HND *hnd,
|
||||
char *key_value, uint32* key_type);
|
||||
BOOL do_reg_set_key_sec(struct cli_state *cli, POLICY_HND *hnd, SEC_DESC_BUF *sec_desc_buf);
|
||||
BOOL do_reg_get_key_sec(struct cli_state *cli, POLICY_HND *hnd, uint32 *sec_buf_size, SEC_DESC_BUF **ppsec_desc_buf);
|
||||
BOOL do_reg_delete_val(struct cli_state *cli, POLICY_HND *hnd, char *val_name);
|
||||
BOOL do_reg_delete_key(struct cli_state *cli, POLICY_HND *hnd, char *key_name);
|
||||
BOOL do_reg_create_key(struct cli_state *cli, POLICY_HND *hnd,
|
||||
char *key_name, char *key_class,
|
||||
SEC_ACCESS *sam_access,
|
||||
POLICY_HND *key);
|
||||
BOOL do_reg_enum_key(struct cli_state *cli, POLICY_HND *hnd,
|
||||
int key_index, char *key_name,
|
||||
uint32 *unk_1, uint32 *unk_2,
|
||||
time_t *mod_time);
|
||||
BOOL do_reg_create_val(struct cli_state *cli, POLICY_HND *hnd,
|
||||
char *val_name, uint32 type, BUFFER3 *data);
|
||||
BOOL do_reg_enum_val(struct cli_state *cli, POLICY_HND *hnd,
|
||||
int val_index, int max_valnamelen, int max_valbufsize,
|
||||
fstring val_name,
|
||||
uint32 *val_type, BUFFER2 *value);
|
||||
BOOL do_reg_open_entry(struct cli_state *cli, POLICY_HND *hnd,
|
||||
char *key_name, uint32 unk_0,
|
||||
POLICY_HND *key_hnd);
|
||||
BOOL do_reg_close(struct cli_state *cli, POLICY_HND *hnd);
|
||||
|
||||
/*The following definitions come from rpc_client/cli_samr.c */
|
||||
|
||||
#if OLD_NTDOMAIN
|
||||
BOOL get_samr_query_usergroups(struct cli_state *cli,
|
||||
POLICY_HND *pol_open_domain, uint32 user_rid,
|
||||
uint32 *num_groups, DOM_GID *gid);
|
||||
BOOL get_samr_query_userinfo(struct cli_state *cli,
|
||||
POLICY_HND *pol_open_domain,
|
||||
uint32 info_level,
|
||||
uint32 user_rid, SAM_USER_INFO_21 *usr);
|
||||
BOOL do_samr_chgpasswd_user(struct cli_state *cli,
|
||||
char *srv_name, char *user_name,
|
||||
char nt_newpass[516], uchar nt_oldhash[16],
|
||||
char lm_newpass[516], uchar lm_oldhash[16]);
|
||||
BOOL do_samr_unknown_38(struct cli_state *cli, char *srv_name);
|
||||
BOOL do_samr_query_dom_info(struct cli_state *cli,
|
||||
POLICY_HND *domain_pol, uint16 switch_value);
|
||||
BOOL do_samr_enum_dom_users(struct cli_state *cli,
|
||||
POLICY_HND *pol, uint16 num_entries, uint16 unk_0,
|
||||
uint16 acb_mask, uint16 unk_1, uint32 size,
|
||||
struct acct_info **sam,
|
||||
int *num_sam_users);
|
||||
BOOL do_samr_connect(struct cli_state *cli,
|
||||
char *srv_name, uint32 unknown_0,
|
||||
POLICY_HND *connect_pol);
|
||||
BOOL do_samr_open_user(struct cli_state *cli,
|
||||
POLICY_HND *pol, uint32 unk_0, uint32 rid,
|
||||
POLICY_HND *user_pol);
|
||||
BOOL do_samr_open_domain(struct cli_state *cli,
|
||||
POLICY_HND *connect_pol, uint32 rid, DOM_SID *sid,
|
||||
POLICY_HND *domain_pol);
|
||||
BOOL do_samr_query_unknown_12(struct cli_state *cli,
|
||||
POLICY_HND *pol, uint32 rid, uint32 num_gids, uint32 *gids,
|
||||
uint32 *num_aliases,
|
||||
fstring als_names [MAX_LOOKUP_SIDS],
|
||||
uint32 num_als_users[MAX_LOOKUP_SIDS]);
|
||||
BOOL do_samr_query_usergroups(struct cli_state *cli,
|
||||
POLICY_HND *pol, uint32 *num_groups, DOM_GID *gid);
|
||||
BOOL do_samr_query_userinfo(struct cli_state *cli,
|
||||
POLICY_HND *pol, uint16 switch_value, void* usr);
|
||||
BOOL do_samr_close(struct cli_state *cli, POLICY_HND *hnd);
|
||||
#endif
|
||||
|
||||
/*The following definitions come from rpc_client/cli_srvsvc.c */
|
||||
|
||||
BOOL do_srv_net_srv_conn_enum(struct cli_state *cli,
|
||||
char *server_name, char *qual_name,
|
||||
uint32 switch_value, SRV_CONN_INFO_CTR *ctr,
|
||||
uint32 preferred_len,
|
||||
ENUM_HND *hnd);
|
||||
BOOL do_srv_net_srv_sess_enum(struct cli_state *cli,
|
||||
char *server_name, char *qual_name,
|
||||
uint32 switch_value, SRV_SESS_INFO_CTR *ctr,
|
||||
uint32 preferred_len,
|
||||
ENUM_HND *hnd);
|
||||
BOOL do_srv_net_srv_share_enum(struct cli_state *cli,
|
||||
char *server_name,
|
||||
uint32 switch_value, SRV_R_NET_SHARE_ENUM *r_o,
|
||||
uint32 preferred_len, ENUM_HND *hnd);
|
||||
BOOL do_srv_net_srv_file_enum(struct cli_state *cli,
|
||||
char *server_name, char *qual_name,
|
||||
uint32 switch_value, SRV_FILE_INFO_CTR *ctr,
|
||||
uint32 preferred_len,
|
||||
ENUM_HND *hnd);
|
||||
BOOL do_srv_net_srv_get_info(struct cli_state *cli,
|
||||
char *server_name, uint32 switch_value, SRV_INFO_CTR *ctr);
|
||||
|
||||
/*The following definitions come from rpc_client/cli_use.c */
|
||||
|
||||
void init_cli_use(void);
|
||||
void free_cli_use(void);
|
||||
struct cli_state *cli_net_use_add(const char *srv_name,
|
||||
const struct ntuser_creds *usr_creds,
|
||||
BOOL reuse, BOOL *is_new);
|
||||
BOOL cli_net_use_del(const char *srv_name,
|
||||
const struct ntuser_creds *usr_creds,
|
||||
BOOL force_close, BOOL *connection_closed);
|
||||
void cli_net_use_enum(uint32 *num_cons, struct use_info ***use);
|
||||
void cli_use_wait_keyboard(void);
|
||||
|
||||
/*The following definitions come from rpc_client/cli_wkssvc.c */
|
||||
|
||||
BOOL do_wks_query_info(struct cli_state *cli,
|
||||
char *server_name, uint32 switch_value,
|
||||
WKS_INFO_100 *wks100);
|
||||
|
||||
/*The following definitions come from rpc_client/ncacn_np_use.c */
|
||||
|
||||
BOOL ncacn_np_use_del(const char *srv_name, const char *pipe_name,
|
||||
const vuser_key * key,
|
||||
BOOL force_close, BOOL *connection_closed);
|
||||
|
||||
/*The following definitions come from rpc_client/ncalrpc_l_use.c */
|
||||
|
||||
BOOL ncalrpc_l_use_del(const char *pipe_name,
|
||||
const vuser_key * key,
|
||||
BOOL force_close, BOOL *connection_closed);
|
||||
#endif /* _PROTO_H_ */
|
@ -24,6 +24,8 @@
|
||||
#ifndef _RPCCLIENT_H
|
||||
#define _RPCCLIENT_H
|
||||
|
||||
#define report fprintf
|
||||
|
||||
struct tar_client_info
|
||||
{
|
||||
int blocksize;
|
||||
@ -83,7 +85,7 @@ struct nt_client_info
|
||||
int num_sam_entries;
|
||||
};
|
||||
|
||||
struct client_info
|
||||
/* struct client_info
|
||||
{
|
||||
struct in_addr dest_ip;
|
||||
fstring dest_host;
|
||||
@ -117,8 +119,34 @@ struct client_info
|
||||
|
||||
struct tar_client_info tar;
|
||||
struct nt_client_info dom;
|
||||
}; */
|
||||
|
||||
struct client_info
|
||||
{
|
||||
struct in_addr dest_ip;
|
||||
fstring dest_host;
|
||||
|
||||
fstring myhostname;
|
||||
|
||||
struct tar_client_info tar;
|
||||
struct nt_client_info dom;
|
||||
|
||||
BOOL reuse;
|
||||
};
|
||||
|
||||
|
||||
enum action_type {ACTION_HEADER, ACTION_ENUMERATE, ACTION_FOOTER};
|
||||
|
||||
/****************************************************************************
|
||||
This defines the commands supported by this client
|
||||
****************************************************************************/
|
||||
struct command_set
|
||||
{
|
||||
char *name;
|
||||
uint32 (*fn)(struct client_info*, int, char*[]);
|
||||
char *description;
|
||||
char* (*compl_args[2])(char*, int);
|
||||
};
|
||||
|
||||
|
||||
#endif /* _RPCCLIENT_H */
|
||||
|
@ -363,10 +363,20 @@ struct sam_disp_info
|
||||
char *full_name; /* user's full name string */
|
||||
};
|
||||
|
||||
typedef struct
|
||||
{
|
||||
uint32 pid;
|
||||
uint16 vuid;
|
||||
|
||||
}
|
||||
vuser_key;
|
||||
|
||||
|
||||
struct use_info
|
||||
{
|
||||
BOOL connected;
|
||||
char *srv_name;
|
||||
vuser_key key;
|
||||
char *user_name;
|
||||
char *domain;
|
||||
};
|
||||
@ -1647,6 +1657,31 @@ struct ntdom_info
|
||||
|
||||
int max_recv_frag;
|
||||
int max_xmit_frag;
|
||||
|
||||
vuser_key key;
|
||||
};
|
||||
|
||||
struct msrpc_local
|
||||
{
|
||||
fstring pipe_name;
|
||||
struct ntdom_info nt;
|
||||
#if 0
|
||||
cli_auth_fns *auth;
|
||||
void *auth_info;
|
||||
#endif
|
||||
|
||||
int fd;
|
||||
BOOL initialised;
|
||||
char *inbuf;
|
||||
char *outbuf;
|
||||
};
|
||||
|
||||
struct ncacn_np
|
||||
{
|
||||
fstring pipe_name;
|
||||
struct cli_state *smb;
|
||||
uint16 fnum;
|
||||
BOOL initialised;
|
||||
};
|
||||
|
||||
#include "rpc_creds.h"
|
||||
|
Loading…
x
Reference in New Issue
Block a user