static NTSTATUS _lsa_LookupSids_common(struct pipes_struct *p,
struct lsa_LookupSids2 *r)
{
+ struct dcesrv_call_state *dce_call = p->dce_call;
NTSTATUS status;
struct lsa_info *handle;
int num_sids = r->in.sids->num_sids;
struct lsa_TranslatedName2 *names = NULL;
bool check_policy = true;
- switch (p->opnum) {
+ switch (dce_call->pkt.u.request.opnum) {
case NDR_LSA_LOOKUPSIDS3:
check_policy = false;
break;
static NTSTATUS _lsa_LookupNames_common(struct pipes_struct *p,
struct lsa_LookupNames3 *r)
{
+ struct dcesrv_call_state *dce_call = p->dce_call;
NTSTATUS status;
struct lsa_info *handle;
struct lsa_String *names = r->in.names;
int flags = 0;
bool check_policy = true;
- switch (p->opnum) {
+ switch (dce_call->pkt.u.request.opnum) {
case NDR_LSA_LOOKUPNAMES4:
check_policy = false;
break;
#include "system/passwd.h" /* uid_wrapper */
#include "ntdomain.h"
#include "../libcli/auth/schannel.h"
+#include "librpc/rpc/dcesrv_core.h"
#include "librpc/gen_ndr/ndr_netlogon.h"
#include "librpc/gen_ndr/ndr_netlogon_scompat.h"
#include "librpc/gen_ndr/ndr_samr_c.h"
WERROR _netr_LogonControl2Ex(struct pipes_struct *p,
struct netr_LogonControl2Ex *r)
{
+ struct dcesrv_call_state *dce_call = p->dce_call;
uint32_t flags = 0x0;
WERROR pdc_connection_status = WERR_OK;
uint32_t logon_attempts = 0x0;
NTSTATUS status;
struct netr_DsRGetDCNameInfo *dc_info;
- switch (p->opnum) {
+ switch (dce_call->pkt.u.request.opnum) {
case NDR_NETR_LOGONCONTROL:
fn = "_netr_LogonControl";
break;
NTSTATUS _netr_ServerAuthenticate3(struct pipes_struct *p,
struct netr_ServerAuthenticate3 *r)
{
+ struct dcesrv_call_state *dce_call = p->dce_call;
NTSTATUS status;
uint32_t srv_flgs;
/* r->in.negotiate_flags is an aliased pointer to r->out.negotiate_flags,
srv_flgs &= ~NETLOGON_NEG_ARCFOUR;
}
- switch (p->opnum) {
+ switch (dce_call->pkt.u.request.opnum) {
case NDR_NETR_SERVERAUTHENTICATE:
fn = "_netr_ServerAuthenticate";
break;
struct netr_Authenticator *return_authenticator,
struct netlogon_creds_CredentialState **creds_out)
{
+ struct dcesrv_call_state *dce_call = p->dce_call;
NTSTATUS status;
bool schannel_global_required = (lp_server_schannel() == true) ? true:false;
bool schannel_required = schannel_global_required;
struct loadparm_context *lp_ctx;
struct netlogon_creds_CredentialState *creds = NULL;
enum dcerpc_AuthType auth_type = DCERPC_AUTH_TYPE_NONE;
- uint16_t opnum = p->opnum;
+ uint16_t opnum = dce_call->pkt.u.request.opnum;
const char *opname = "<unknown>";
static bool warned_global_once = false;
struct netr_LogonSamLogonEx *r,
struct netlogon_creds_CredentialState *creds)
{
+ struct dcesrv_call_state *dce_call = p->dce_call;
NTSTATUS status = NT_STATUS_OK;
union netr_LogonLevel *logon = r->in.logon;
const char *nt_username, *nt_domain, *nt_workstation;
}
#endif
- switch (p->opnum) {
+ switch (dce_call->pkt.u.request.opnum) {
case NDR_NETR_LOGONSAMLOGON:
fn = "_netr_LogonSamLogon";
break;
#include "system/passwd.h"
#include "../libcli/auth/libcli_auth.h"
#include "ntdomain.h"
+#include "librpc/rpc/dcesrv_core.h"
#include "../librpc/gen_ndr/ndr_samr.h"
#include "../librpc/gen_ndr/ndr_samr_scompat.h"
#include "rpc_server/samr/srv_samr_util.h"
NTSTATUS _samr_Connect2(struct pipes_struct *p,
struct samr_Connect2 *r)
{
+ struct dcesrv_call_state *dce_call = p->dce_call;
struct security_descriptor *psd = NULL;
uint32_t acc_granted;
uint32_t des_access = r->in.access_mask;
size_t sd_size;
const char *fn = "_samr_Connect2";
- switch (p->opnum) {
+ switch (dce_call->pkt.u.request.opnum) {
case NDR_SAMR_CONNECT2:
fn = "_samr_Connect2";
break;