mirror of
https://github.com/samba-team/samba.git
synced 2024-12-23 17:34:34 +03:00
Fix the W2KSP2 joining a Samba domain problem.
Jeremy.
(This used to be commit 6bbcab5e48
)
This commit is contained in:
parent
013b454d1a
commit
c912d04389
@ -2334,6 +2334,10 @@ BOOL cli_spoolss_reply_rrpcn(struct cli_state *cli, POLICY_HND *handle,
|
||||
uint32 change_low, uint32 change_high, uint32 *status);
|
||||
BOOL cli_spoolss_reply_close_printer(struct cli_state *cli, POLICY_HND *handle, uint32 *status);
|
||||
|
||||
/* The following definitions come from rpc_client/cli_trust.c */
|
||||
|
||||
BOOL change_trust_account_password( char *domain, char *remote_machine_list);
|
||||
|
||||
/* The following definitions come from rpc_client/cli_use.c */
|
||||
|
||||
void init_cli_use(void);
|
||||
@ -3675,7 +3679,7 @@ uint32 _net_sam_logon(pipes_struct *p, NET_Q_SAM_LOGON *q_u, NET_R_SAM_LOGON *r_
|
||||
|
||||
BOOL create_next_pdu(pipes_struct *p);
|
||||
BOOL api_pipe_bind_auth_resp(pipes_struct *p, prs_struct *rpc_in_p);
|
||||
BOOL setup_fault_pdu(pipes_struct *p);
|
||||
BOOL setup_fault_pdu(pipes_struct *p, uint32 status);
|
||||
BOOL check_bind_req(char* pipe_name, RPC_IFACE* abstract,
|
||||
RPC_IFACE* transfer);
|
||||
BOOL api_pipe_bind_req(pipes_struct *p, prs_struct *rpc_in_p);
|
||||
|
@ -93,7 +93,7 @@ BOOL create_next_pdu(pipes_struct *p)
|
||||
*/
|
||||
|
||||
if(p->fault_state) {
|
||||
setup_fault_pdu(p);
|
||||
setup_fault_pdu(p, 0x1c010002);
|
||||
return True;
|
||||
}
|
||||
|
||||
@ -617,7 +617,7 @@ static BOOL setup_bind_nak(pipes_struct *p)
|
||||
Marshall a fault pdu.
|
||||
*******************************************************************/
|
||||
|
||||
BOOL setup_fault_pdu(pipes_struct *p)
|
||||
BOOL setup_fault_pdu(pipes_struct *p, uint32 status)
|
||||
{
|
||||
prs_struct outgoing_pdu;
|
||||
RPC_HDR fault_hdr;
|
||||
@ -649,7 +649,7 @@ BOOL setup_fault_pdu(pipes_struct *p)
|
||||
|
||||
memset((char *)&hdr_resp, '\0', sizeof(hdr_resp));
|
||||
|
||||
fault_resp.status = 0x1c010002;
|
||||
fault_resp.status = status;
|
||||
fault_resp.reserved = 0;
|
||||
|
||||
/*
|
||||
@ -1195,7 +1195,7 @@ BOOL api_rpcTNP(pipes_struct *p, char *rpc_name,
|
||||
* and not put the pipe into fault state. JRA.
|
||||
*/
|
||||
DEBUG(4, ("unknown\n"));
|
||||
setup_fault_pdu(p);
|
||||
setup_fault_pdu(p, 0x1c010002);
|
||||
return True;
|
||||
}
|
||||
|
||||
|
@ -570,7 +570,7 @@ static ssize_t process_complete_pdu(pipes_struct *p)
|
||||
DEBUG(10,("process_complete_pdu: pipe %s in fault state.\n",
|
||||
p->name ));
|
||||
set_incoming_fault(p);
|
||||
setup_fault_pdu(p);
|
||||
setup_fault_pdu(p, 0x1c010002);
|
||||
return (ssize_t)data_len;
|
||||
}
|
||||
|
||||
@ -619,7 +619,7 @@ static ssize_t process_complete_pdu(pipes_struct *p)
|
||||
if (!reply) {
|
||||
DEBUG(3,("process_complete_pdu: DCE/RPC fault sent on pipe %s\n", p->pipe_srv_name));
|
||||
set_incoming_fault(p);
|
||||
setup_fault_pdu(p);
|
||||
setup_fault_pdu(p, 0x1c010002);
|
||||
prs_mem_free(&rpc_in);
|
||||
} else {
|
||||
/*
|
||||
|
@ -725,6 +725,11 @@ static BOOL api_samr_set_userinfo(pipes_struct *p)
|
||||
|
||||
if (!samr_io_q_set_userinfo("", &q_u, data, 0)) {
|
||||
DEBUG(0,("api_samr_set_userinfo: Unable to unmarshall SAMR_Q_SET_USERINFO.\n"));
|
||||
/* Fix for W2K SP2 */
|
||||
if (q_u.switch_value == 0x1a) {
|
||||
setup_fault_pdu(p, 0x1c000006);
|
||||
return True;
|
||||
}
|
||||
return False;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user