1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-12 09:18:10 +03:00

Use pidl for _netr_LogonControl.

Guenther
(This used to be commit ec4947525e)
This commit is contained in:
Günther Deschner 2008-02-13 11:56:24 +01:00
parent c6acbc16a6
commit abba82ef5b
2 changed files with 23 additions and 41 deletions

View File

@ -279,28 +279,7 @@ static bool api_net_logon_ctrl2(pipes_struct *p)
static bool api_net_logon_ctrl(pipes_struct *p)
{
NET_Q_LOGON_CTRL q_u;
NET_R_LOGON_CTRL 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 lsa netlogon ctrl query... */
if(!net_io_q_logon_ctrl("", &q_u, data, 0)) {
DEBUG(0,("api_net_logon_ctrl: Failed to unmarshall NET_Q_LOGON_CTRL.\n"));
return False;
}
r_u.status = _net_logon_ctrl(p, &q_u, &r_u);
if(!net_io_r_logon_ctrl("", &r_u, rdata, 0)) {
DEBUG(0,("net_reply_logon_ctrl2: Failed to marshall NET_R_LOGON_CTRL.\n"));
return False;
}
return True;
return proxy_netr_call(p, NDR_NETR_LOGONCONTROL);
}
/*************************************************************************

View File

@ -43,21 +43,34 @@ static void init_net_r_req_chal(NET_R_REQ_CHAL *r_c,
}
/*************************************************************************
net_reply_logon_ctrl:
_netr_LogonControl
*************************************************************************/
NTSTATUS _net_logon_ctrl(pipes_struct *p, NET_Q_LOGON_CTRL *q_u,
NET_R_LOGON_CTRL *r_u)
WERROR _netr_LogonControl(pipes_struct *p,
struct netr_LogonControl *r)
{
uint32 flags = 0x0;
uint32 pdc_connection_status = 0x00; /* Maybe a win32 error code? */
struct netr_NETLOGON_INFO_1 *info1;
uint32_t flags = 0x0;
uint32_t pdc_connection_status = W_ERROR_V(WERR_OK);
/* Setup the Logon Control response */
init_net_r_logon_ctrl(r_u, q_u->query_level, flags,
pdc_connection_status);
switch (r->in.level) {
case 1:
info1 = TALLOC_ZERO_P(p->mem_ctx, struct netr_NETLOGON_INFO_1);
if (!info1) {
return WERR_NOMEM;
}
info1->flags = flags;
info1->pdc_connection_status = pdc_connection_status;
return r_u->status;
r->out.info->info1 = info1;
break;
default:
return WERR_UNKNOWN_LEVEL;
}
return WERR_OK;
}
/****************************************************************************
@ -1257,16 +1270,6 @@ NTSTATUS _netr_AccountSync(pipes_struct *p,
/****************************************************************
****************************************************************/
WERROR _netr_LogonControl(pipes_struct *p,
struct netr_LogonControl *r)
{
p->rng_fault_state = true;
return WERR_NOT_SUPPORTED;
}
/****************************************************************
****************************************************************/
WERROR _netr_GetDcName(pipes_struct *p,
struct netr_GetDcName *r)
{