diff options
Diffstat (limited to 'source/include/proto.h')
-rw-r--r-- | source/include/proto.h | 228 |
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 */ |