From 4d2b4c92d25c9c06be1ba84da5e2c9bfa4209a30 Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Fri, 10 Feb 2006 18:05:55 +0000 Subject: r13434: Add stub for NET_SAM_LOGON_EX. Jeremy. (This used to be commit 58544eb3c848e1dddd774270fbaae7d704a37b53) --- source3/rpc_server/srv_netlog.c | 34 +++++++++++++++++++++++++++++++++- source3/rpc_server/srv_netlog_nt.c | 10 ++++++++++ 2 files changed, 43 insertions(+), 1 deletion(-) (limited to 'source3') diff --git a/source3/rpc_server/srv_netlog.c b/source3/rpc_server/srv_netlog.c index 567028eec4..78ffb2e9f1 100644 --- a/source3/rpc_server/srv_netlog.c +++ b/source3/rpc_server/srv_netlog.c @@ -210,7 +210,7 @@ static BOOL api_net_sam_logon(pipes_struct *p) return False; } - return True; + return True; } /************************************************************************* @@ -306,6 +306,37 @@ static BOOL api_net_logon_ctrl(pipes_struct *p) return True; } +/************************************************************************* + api_net_sam_logon_ex: + *************************************************************************/ + +static BOOL api_net_sam_logon_ex(pipes_struct *p) +{ + NET_Q_SAM_LOGON_EX q_u; + NET_R_SAM_LOGON_EX r_u; + prs_struct *data = &p->in_data.data; + prs_struct *rdata = &p->out_data.rdata; + + ZERO_STRUCT(q_u); + ZERO_STRUCT(r_u); + + if(!net_io_q_sam_logon_ex("", &q_u, data, 0)) { + DEBUG(0, ("api_net_sam_logon_ex: Failed to unmarshall NET_Q_SAM_LOGON_EX.\n")); + return False; + } + + r_u.status = _net_sam_logon_ex(p, &q_u, &r_u); + + /* store the response in the SMB stream */ + if(!net_io_r_sam_logon_ex("", &r_u, rdata, 0)) { + DEBUG(0,("api_net_sam_logon_ex: Failed to marshall NET_R_SAM_LOGON_EX.\n")); + return False; + } + + return True; +} + + /************************************************************************* api_ds_enum_dom_trusts: *************************************************************************/ @@ -356,6 +387,7 @@ static struct api_struct api_net_cmds [] = { "NET_LOGON_CTRL2" , NET_LOGON_CTRL2 , api_net_logon_ctrl2 }, { "NET_TRUST_DOM_LIST", NET_TRUST_DOM_LIST, api_net_trust_dom_list }, { "NET_LOGON_CTRL" , NET_LOGON_CTRL , api_net_logon_ctrl }, + { "NET_SAMLOGON_EX" , NET_SAMLOGON_EX , api_net_sam_logon_ex }, #if 0 /* JERRY */ { "DS_ENUM_DOM_TRUSTS", DS_ENUM_DOM_TRUSTS, api_ds_enum_dom_trusts } #endif /* JERRY */ diff --git a/source3/rpc_server/srv_netlog_nt.c b/source3/rpc_server/srv_netlog_nt.c index 784f733617..0bd9d9bc7d 100644 --- a/source3/rpc_server/srv_netlog_nt.c +++ b/source3/rpc_server/srv_netlog_nt.c @@ -906,6 +906,16 @@ NTSTATUS _net_sam_logon(pipes_struct *p, NET_Q_SAM_LOGON *q_u, NET_R_SAM_LOGON * return status; } +/************************************************************************* + _net_sam_logon_ex + *************************************************************************/ + +NTSTATUS _net_sam_logon_ex(pipes_struct *p, NET_Q_SAM_LOGON_EX *q_u, NET_R_SAM_LOGON_EX *r_u) +{ + setup_fault_pdu(p, NT_STATUS(0x1c010002)); + return NT_STATUS(0x1c010002); +} + /************************************************************************* _ds_enum_dom_trusts *************************************************************************/ -- cgit