summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGünther Deschner <gd@samba.org>2008-02-13 14:08:59 +0100
committerGünther Deschner <gd@samba.org>2008-02-13 14:18:58 +0100
commit4140f3213d678fa998d1cf6e6f1eaf4d5be7903a (patch)
tree6e212dd15843606d7d73f6e3e28b6b59349f12ec
parentb94093173d9831935b7526ad0e8a93b791d7957a (diff)
downloadsamba-4140f3213d678fa998d1cf6e6f1eaf4d5be7903a.tar.gz
samba-4140f3213d678fa998d1cf6e6f1eaf4d5be7903a.tar.bz2
samba-4140f3213d678fa998d1cf6e6f1eaf4d5be7903a.zip
Use pidl for _netr_ServerReqChallenge.
Guenther (This used to be commit ef424319410b7a29ecdfefca53b7e9704beb6139)
-rw-r--r--source3/rpc_server/srv_netlog.c24
-rw-r--r--source3/rpc_server/srv_netlog_nt.c34
2 files changed, 13 insertions, 45 deletions
diff --git a/source3/rpc_server/srv_netlog.c b/source3/rpc_server/srv_netlog.c
index 7faf63205e..1b23cd835a 100644
--- a/source3/rpc_server/srv_netlog.c
+++ b/source3/rpc_server/srv_netlog.c
@@ -55,29 +55,7 @@ static bool proxy_netr_call(pipes_struct *p, uint8 opnum)
static bool api_net_req_chal(pipes_struct *p)
{
- NET_Q_REQ_CHAL q_u;
- NET_R_REQ_CHAL r_u;
- prs_struct *data = &p->in_data.data;
- prs_struct *rdata = &p->out_data.rdata;
-
- ZERO_STRUCT(q_u);
- ZERO_STRUCT(r_u);
-
- /* grab the challenge... */
- if(!net_io_q_req_chal("", &q_u, data, 0)) {
- DEBUG(0,("api_net_req_chal: Failed to unmarshall NET_Q_REQ_CHAL.\n"));
- return False;
- }
-
- r_u.status = _net_req_chal(p, &q_u, &r_u);
-
- /* store the response in the SMB stream */
- if(!net_io_r_req_chal("", &r_u, rdata, 0)) {
- DEBUG(0,("api_net_req_chal: Failed to marshall NET_R_REQ_CHAL.\n"));
- return False;
- }
-
- return True;
+ return proxy_netr_call(p, NDR_NETR_SERVERREQCHALLENGE);
}
/*************************************************************************
diff --git a/source3/rpc_server/srv_netlog_nt.c b/source3/rpc_server/srv_netlog_nt.c
index d9fcbeb285..acf694b128 100644
--- a/source3/rpc_server/srv_netlog_nt.c
+++ b/source3/rpc_server/srv_netlog_nt.c
@@ -34,12 +34,12 @@ extern userdom_struct current_user_info;
init_net_r_req_chal:
*************************************************************************/
-static void init_net_r_req_chal(NET_R_REQ_CHAL *r_c,
- DOM_CHAL *srv_chal, NTSTATUS status)
+static void init_net_r_req_chal(struct netr_Credential *r,
+ DOM_CHAL *srv_chal)
{
DEBUG(6,("init_net_r_req_chal: %d\n", __LINE__));
- memcpy(r_c->srv_chal.data, srv_chal->data, sizeof(srv_chal->data));
- r_c->status = status;
+
+ memcpy(r->data, srv_chal->data, sizeof(r->data));
}
/*************************************************************************
@@ -305,10 +305,11 @@ static NTSTATUS get_md4pw(char *md4pw, char *mach_acct, uint16 sec_chan_type)
}
/*************************************************************************
- _net_req_chal
+ _netr_ServerReqChallenge
*************************************************************************/
-NTSTATUS _net_req_chal(pipes_struct *p, NET_Q_REQ_CHAL *q_u, NET_R_REQ_CHAL *r_u)
+NTSTATUS _netr_ServerReqChallenge(pipes_struct *p,
+ struct netr_ServerReqChallenge *r)
{
if (!p->dc) {
p->dc = TALLOC_ZERO_P(p->pipe_state_mem_ctx, struct dcinfo);
@@ -316,23 +317,22 @@ NTSTATUS _net_req_chal(pipes_struct *p, NET_Q_REQ_CHAL *q_u, NET_R_REQ_CHAL *r_u
return NT_STATUS_NO_MEMORY;
}
} else {
- DEBUG(10,("_net_req_chal: new challenge requested. Clearing old state.\n"));
+ DEBUG(10,("_netr_ServerReqChallenge: new challenge requested. Clearing old state.\n"));
ZERO_STRUCTP(p->dc);
}
- rpcstr_pull(p->dc->remote_machine,
- q_u->uni_logon_clnt.buffer,
- sizeof(fstring),q_u->uni_logon_clnt.uni_str_len*2,0);
+ fstrcpy(p->dc->remote_machine, r->in.computer_name);
/* Save the client challenge to the server. */
- memcpy(p->dc->clnt_chal.data, q_u->clnt_chal.data, sizeof(q_u->clnt_chal.data));
+ memcpy(p->dc->clnt_chal.data, r->in.credentials->data,
+ sizeof(r->in.credentials->data));
/* Create a server challenge for the client */
/* Set this to a random value. */
generate_random_buffer(p->dc->srv_chal.data, 8);
/* set up the LSA REQUEST CHALLENGE response */
- init_net_r_req_chal(r_u, &p->dc->srv_chal, NT_STATUS_OK);
+ init_net_r_req_chal(r->out.credentials, &p->dc->srv_chal);
p->dc->challenge_sent = True;
@@ -1200,16 +1200,6 @@ NTSTATUS _netr_LogonSamLogoff(pipes_struct *p,
/****************************************************************
****************************************************************/
-NTSTATUS _netr_ServerReqChallenge(pipes_struct *p,
- struct netr_ServerReqChallenge *r)
-{
- p->rng_fault_state = true;
- return NT_STATUS_NOT_IMPLEMENTED;
-}
-
-/****************************************************************
-****************************************************************/
-
NTSTATUS _netr_ServerAuthenticate(pipes_struct *p,
struct netr_ServerAuthenticate *r)
{