summaryrefslogtreecommitdiff
path: root/source/include/proto.h
diff options
context:
space:
mode:
Diffstat (limited to 'source/include/proto.h')
-rw-r--r--source/include/proto.h228
1 files changed, 197 insertions, 31 deletions
diff --git a/source/include/proto.h b/source/include/proto.h
index 97495c6f199..38ee4a5f206 100644
--- a/source/include/proto.h
+++ b/source/include/proto.h
@@ -760,8 +760,8 @@ char *validated_username(uint16 vuid);
uint16 create_vuid(uid_t uid, gid_t gid, int n_groups, gid_t *groups,
char *unix_name, char *requested_name,
char *real_name,
- BOOL guest, uchar user_sess_key[16]);
-uint16 register_vuid(uid_t uid,gid_t gid, char *unix_name, char *requested_name, BOOL guest, uchar user_sess_key[16]);
+ BOOL guest, const NET_USER_INFO_3 *info3);
+uint16 register_vuid(uid_t uid,gid_t gid, char *unix_name, char *requested_name, BOOL guest, const NET_USER_INFO_3 *info3);
BOOL check_vuser_ok(struct uid_cache *cache, user_struct *vuser,int snum);
/*The following definitions come from libsmb/clientgen.c */
@@ -1788,8 +1788,9 @@ struct passdb_ops *nisplus_initialise_password_db(void);
/*The following definitions come from passdb/pass_check.c */
void dfs_unlogin(void);
-BOOL pass_check(char *user,char *password, int pwlen, struct passwd *pwd,
- BOOL (*fn)(char *, char *));
+BOOL pass_check(const char *_user, const char *_password,
+ int pwlen, const struct passwd *pwd,
+ BOOL (*fn)(const char *, const char *));
/*The following definitions come from passdb/passdb.c */
@@ -1889,9 +1890,10 @@ BOOL local_password_change(char *user_name,
BOOL trust_password_lock( char *domain, char *name, BOOL update);
BOOL trust_password_unlock(void);
BOOL trust_password_delete( char *domain, char *name );
-BOOL get_trust_account_password( unsigned char *ret_pwd, time_t *pass_last_set_time);
-BOOL set_trust_account_password( unsigned char *md4_new_pwd);
-BOOL trust_get_passwd( unsigned char trust_passwd[16], char *domain, char *myname);
+BOOL get_trust_account_password( uchar *ret_pwd, time_t *pass_last_set_time);
+BOOL set_trust_account_password( uchar *md4_new_pwd);
+BOOL trust_get_passwd( uchar trust_passwd[16],
+ const char *domain, const char *myname);
BOOL create_trust_account_file(char *domain, char *name, uchar pass[16]);
/*The following definitions come from passdb/smbpassgroup.c */
@@ -2051,16 +2053,16 @@ BOOL cli_nt_login_general(const char* srv_name, const char* myhostname,
BOOL cli_nt_login_interactive(const char* srv_name, const char* myhostname,
const char *domain, const char *username,
uint32 luid_low,
- uchar *lm_owf_user_pwd,
- uchar *nt_owf_user_pwd,
+ const uchar *lm_owf_user_pwd,
+ const uchar *nt_owf_user_pwd,
NET_ID_INFO_CTR *ctr,
NET_USER_INFO_3 *user_info3);
BOOL cli_nt_login_network(const char* srv_name, const char* myhostname,
const char *domain, const char *username,
- uint32 luid_low, char lm_chal[8],
- char *lm_chal_resp,
+ uint32 luid_low, const char lm_chal[8],
+ const char *lm_chal_resp,
int lm_chal_len,
- char *nt_chal_resp,
+ const char *nt_chal_resp,
int nt_chal_len,
NET_ID_INFO_CTR *ctr,
NET_USER_INFO_3 *user_info3);
@@ -2444,12 +2446,11 @@ BOOL msrpc_lsa_query_secret(const char* srv_name,
/*The following definitions come from rpc_client/msrpc_netlogon.c */
-uint32 check_domain_security(char *orig_user, char *domain,
- uchar *challenge,
- char *smb_apasswd, int smb_apasslen,
- char *smb_ntpasswd, int smb_ntpasslen,
- uchar user_sess_key[16],
- char lm_pw8[8]);
+uint32 check_domain_security(const char *orig_user, const char *domain,
+ const uchar *challenge,
+ const char *smb_apasswd, int smb_apasslen,
+ const char *smb_ntpasswd, int smb_ntpasslen,
+ NET_USER_INFO_3 *info3);
/*The following definitions come from rpc_client/msrpc_samr.c */
@@ -2628,6 +2629,9 @@ BOOL msrpc_sam_ntpasswd_set(const char* srv_name, const char *user,
const uchar lm_hshhash[16],
const uchar nt_newpass[516],
const uchar nt_hshhash[16]);
+BOOL msrpc_sam_query_userinfo(const char* srv_name, const DOM_SID *sid,
+ const char *user_name, uint16 info_level,
+ SAM_USERINFO_CTR *ctr);
/*The following definitions come from rpc_parse/parse_creds.c */
@@ -2641,16 +2645,11 @@ BOOL make_creds_unix_sec(CREDS_UNIX_SEC *r_u,
uint32 uid, uint32 gid, uint32 num_grps, gid_t *grps);
BOOL creds_io_unix_sec(char *desc, CREDS_UNIX_SEC *r_u, prs_struct *ps, int depth);
void creds_free_unix_sec(CREDS_UNIX_SEC *r_u);
-BOOL make_creds_nt_sec(CREDS_NT_SEC *r_u,
- DOM_SID *sid, uint32 num_grps, uint32 *grps);
-BOOL creds_io_nt_sec(char *desc, CREDS_NT_SEC *r_u, prs_struct *ps, int depth);
-void creds_free_nt_sec(CREDS_NT_SEC *r_u);
BOOL creds_io_pwd_info(char *desc, struct pwd_info *pwd, prs_struct *ps, int depth);
BOOL creds_io_nt(char *desc, CREDS_NT *r_u, prs_struct *ps, int depth);
void creds_free_nt(CREDS_NT *r_u);
BOOL creds_io_hybrid(char *desc, CREDS_HYBRID *r_u, prs_struct *ps, int depth);
void copy_unix_creds(CREDS_UNIX *to, const CREDS_UNIX *from);
-void copy_nt_sec_creds(CREDS_NT_SEC *to, const CREDS_NT_SEC *from);
void copy_unix_sec_creds(CREDS_UNIX_SEC *to, const CREDS_UNIX_SEC *from);
void copy_nt_creds(struct ntuser_creds *to,
const struct ntuser_creds *from);
@@ -2739,7 +2738,7 @@ BOOL make_clnt_info(DOM_CLNT_INFO *clnt,
uint16 sec_chan, const char *comp_name,
DOM_CRED *cred);
BOOL smb_io_clnt_info(char *desc, DOM_CLNT_INFO *clnt, prs_struct *ps, int depth);
-BOOL make_owf_info(OWF_INFO *hash, uint8 data[16]);
+BOOL make_owf_info(OWF_INFO *hash, const uint8 data[16]);
BOOL smb_io_owf_info(char *desc, OWF_INFO *hash, prs_struct *ps, int depth);
BOOL smb_io_gid(char *desc, DOM_GID *gid, prs_struct *ps, int depth);
BOOL smb_io_pol_hnd(char *desc, POLICY_HND *pol, prs_struct *ps, int depth);
@@ -2747,6 +2746,175 @@ BOOL smb_io_dom_query_3(char *desc, DOM_QUERY_3 *d_q, prs_struct *ps, int depth
BOOL smb_io_dom_query_5(char *desc, DOM_QUERY_3 *d_q, prs_struct *ps, int depth);
BOOL smb_io_unistr3(char *desc, UNISTR3 *name, prs_struct *ps, int depth);
+/*The following definitions come from rpc_parse/parse_net.c */
+
+BOOL make_q_logon_ctrl2(NET_Q_LOGON_CTRL2 *q_l,
+ const char* srv_name,
+ uint32 function_code,
+ uint32 query_level,
+ uint32 switch_value);
+BOOL net_io_q_logon_ctrl2(char *desc, NET_Q_LOGON_CTRL2 *q_l, prs_struct *ps, int depth);
+BOOL make_r_logon_ctrl2(NET_R_LOGON_CTRL2 *r_l,
+ uint32 switch_value,
+ NETLOGON_INFO *logon_info,
+ uint32 status);
+BOOL net_io_r_logon_ctrl2(char *desc, NET_R_LOGON_CTRL2 *r_l, prs_struct *ps, int depth);
+BOOL net_io_r_trust_dom(char *desc, NET_R_TRUST_DOM_LIST *r_t, prs_struct *ps, int depth);
+BOOL net_io_q_trust_dom(char *desc, NET_Q_TRUST_DOM_LIST *q_l, prs_struct *ps, int depth);
+BOOL make_q_req_chal(NET_Q_REQ_CHAL *q_c,
+ const char *logon_srv, const char *logon_clnt,
+ DOM_CHAL *clnt_chal);
+BOOL net_io_q_req_chal(char *desc, NET_Q_REQ_CHAL *q_c, prs_struct *ps, int depth);
+BOOL net_io_r_req_chal(char *desc, NET_R_REQ_CHAL *r_c, prs_struct *ps, int depth);
+BOOL make_q_auth(NET_Q_AUTH *q_a,
+ const char *logon_srv, const char *acct_name,
+ uint16 sec_chan, const char *comp_name,
+ DOM_CHAL *clnt_chal);
+BOOL net_io_q_auth(char *desc, NET_Q_AUTH *q_a, prs_struct *ps, int depth);
+BOOL net_io_r_auth(char *desc, NET_R_AUTH *r_a, prs_struct *ps, int depth);
+BOOL make_q_auth_2(NET_Q_AUTH_2 *q_a,
+ const char *logon_srv, const char *acct_name,
+ uint16 sec_chan, const char *comp_name,
+ DOM_CHAL *clnt_chal, uint32 clnt_flgs);
+BOOL net_io_q_auth_2(char *desc, NET_Q_AUTH_2 *q_a, prs_struct *ps, int depth);
+BOOL net_io_r_auth_2(char *desc, NET_R_AUTH_2 *r_a, prs_struct *ps, int depth);
+BOOL make_q_srv_pwset(NET_Q_SRV_PWSET *q_s,
+ const char *logon_srv, const char *acct_name,
+ uint16 sec_chan, const char *comp_name,
+ DOM_CRED *cred, char nt_cypher[16]);
+BOOL net_io_q_srv_pwset(char *desc, NET_Q_SRV_PWSET *q_s, prs_struct *ps, int depth);
+BOOL net_io_r_srv_pwset(char *desc, NET_R_SRV_PWSET *r_s, prs_struct *ps, int depth);
+BOOL make_id_info1(NET_ID_INFO_1 *id, const char *domain_name,
+ uint32 param_ctrl,
+ uint32 log_id_low,
+ uint32 log_id_high,
+ const char *user_name,
+ const char *wksta_name,
+ const char sess_key[16],
+ const uchar lm_cypher[16],
+ const uchar nt_cypher[16]);
+BOOL make_id_info4(NET_ID_INFO_4 *id, const char *domain_name,
+ uint32 param_ctrl,
+ uint32 log_id_low, uint32 log_id_high,
+ const char *user_name, const char *wksta_name,
+ const char *general);
+BOOL make_id_info2(NET_ID_INFO_2 *id, const char *domain_name,
+ uint32 param_ctrl,
+ uint32 log_id_low, uint32 log_id_high,
+ const char *user_name, const char *wksta_name,
+ const uchar lm_challenge[8],
+ const uchar *lm_chal_resp,
+ int lm_chal_len,
+ const uchar *nt_chal_resp,
+ int nt_chal_len);
+BOOL make_sam_info(DOM_SAM_INFO *sam,
+ const char *logon_srv, const char *comp_name,
+ DOM_CRED *clnt_cred,
+ DOM_CRED *rtn_cred, uint16 logon_level,
+ NET_ID_INFO_CTR *ctr);
+BOOL make_net_user_info3W(NET_USER_INFO_3 *usr,
+
+ const NTTIME *logon_time,
+ const NTTIME *logoff_time,
+ const NTTIME *kickoff_time,
+ const NTTIME *pass_last_set_time,
+ const NTTIME *pass_can_change_time,
+ const NTTIME *pass_must_change_time,
+
+ const UNISTR2 *user_name,
+ const UNISTR2 *full_name,
+ const UNISTR2 *log_scr,
+ const UNISTR2 *prof_path,
+ const UNISTR2 *home_dir,
+ const UNISTR2 *dir_drive,
+
+ uint16 logon_count,
+ uint16 bad_pw_count,
+
+ uint32 user_id,
+ uint32 group_id,
+ uint32 num_groups,
+ const DOM_GID *gids,
+ uint32 user_flgs,
+
+ const char sess_key[16],
+
+ const UNISTR2 *logon_srv,
+ const UNISTR2 *logon_dom,
+
+ const char *padding,
+
+ const DOM_SID *dom_sid,
+ const char *other_sids);
+BOOL make_net_user_info3(NET_USER_INFO_3 *usr,
+
+ NTTIME *logon_time,
+ NTTIME *logoff_time,
+ NTTIME *kickoff_time,
+ NTTIME *pass_last_set_time,
+ NTTIME *pass_can_change_time,
+ NTTIME *pass_must_change_time,
+
+ char *user_name,
+ char *full_name,
+ char *logon_script,
+ char *profile_path,
+ char *home_dir,
+ char *dir_drive,
+
+ uint16 logon_count,
+ uint16 bad_pw_count,
+
+ uint32 user_id,
+ uint32 group_id,
+ uint32 num_groups,
+ DOM_GID *gids,
+ uint32 user_flgs,
+
+ char sess_key[16],
+
+ char *logon_srv,
+ char *logon_dom,
+
+ char *padding,
+
+ DOM_SID *dom_sid,
+ char *other_sids);
+BOOL net_io_user_info3(char *desc, NET_USER_INFO_3 *usr, prs_struct *ps, int depth);
+BOOL net_io_q_sam_logon(char *desc, NET_Q_SAM_LOGON *q_l, prs_struct *ps, int depth);
+BOOL make_r_sam_logon(NET_R_SAM_LOGON *r_s,
+ const DOM_CRED *srv_creds,
+ uint16 switch_value,
+ NET_USER_INFO_3 *user_info,
+ uint32 auth_resp,
+ uint32 status);
+BOOL net_io_r_sam_logon(char *desc, NET_R_SAM_LOGON *r_l, prs_struct *ps, int depth);
+BOOL net_io_q_sam_logoff(char *desc, NET_Q_SAM_LOGOFF *q_l, prs_struct *ps, int depth);
+BOOL make_r_sam_logoff(NET_R_SAM_LOGOFF *r_s,
+ const DOM_CRED *srv_cred,
+ uint32 status);
+BOOL net_io_r_sam_logoff(char *desc, NET_R_SAM_LOGOFF *r_l, prs_struct *ps, int depth);
+BOOL make_q_sam_sync(NET_Q_SAM_SYNC *q_s,
+ const char *srv_name,
+ const char *cli_name,
+ DOM_CRED *cli_creds, uint32 database_id);
+BOOL net_io_q_sam_sync(char *desc, NET_Q_SAM_SYNC *q_s, prs_struct *ps, int depth);
+BOOL make_sam_delta_hdr(SAM_DELTA_HDR *delta, uint16 type, uint32 rid);
+BOOL make_sam_account_info(SAM_ACCOUNT_INFO *info, char *user_name,
+ char *full_name, uint32 user_rid, uint32 group_rid,
+ char *home_dir, char *dir_drive, char *logon_script,
+ char *acct_desc, uint32 acb_info, char *profile);
+BOOL make_r_sam_sync(NET_R_SAM_SYNC *r_s,
+ const DOM_CRED *srv_cred,
+ uint32 sync_context,
+ uint32 num_deltas,
+ uint32 num_deltas2,
+ SAM_DELTA_HDR *hdr_deltas,
+ SAM_DELTA_CTR *deltas,
+ uint32 status);
+BOOL net_io_r_sam_sync(char *desc, uint8 sess_key[16],
+ NET_R_SAM_SYNC *r_s, prs_struct *ps, int depth);
+
/*The following definitions come from rpc_parse/parse_netsec.c */
BOOL rpc_hdr_netsec_auth_chk(RPC_HDR_AUTH *rai);
@@ -3604,7 +3772,7 @@ BOOL pass_oem_change(const char *user,
const uchar *ntdata, const uchar *nthash);
BOOL change_oem_password(struct smb_passwd *smbpw, UNISTR2 *new_passwd,
BOOL unicode, BOOL override);
-BOOL update_smbpassword_file(char *user, char *password);
+BOOL update_smbpassword_file(const char *user, const char *password);
/*The following definitions come from smbd/close.c */
@@ -3804,17 +3972,15 @@ void check_kernel_oplocks(void);
/*The following definitions come from smbd/password.c */
void add_session_user(char *user);
-BOOL password_ok(char *orig_user, char *domain,
- char *smb_apasswd, int smb_apasslen,
- char *smb_ntpasswd, int smb_ntpasslen,
+BOOL password_ok(const char *orig_user, const char *domain,
+ const char *smb_apasswd, int smb_apasslen,
+ const char *smb_ntpasswd, int smb_ntpasslen,
struct passwd *pwd,
- uchar user_sess_key[16]);
+ NET_USER_INFO_3 *info3);
BOOL authorise_login(int snum,char *user, char *domain,
char *password, int pwlen,
BOOL *guest,BOOL *force,uint16 vuid);
BOOL check_hosts_equiv(char *user);
-struct cli_state *server_client(void);
-struct cli_state *server_cryptkey(void);
/*The following definitions come from smbd/pipes.c */