summaryrefslogtreecommitdiff
path: root/source3
diff options
context:
space:
mode:
Diffstat (limited to 'source3')
-rw-r--r--source3/rpc_server/srv_lsa_nt.c34
1 files changed, 10 insertions, 24 deletions
diff --git a/source3/rpc_server/srv_lsa_nt.c b/source3/rpc_server/srv_lsa_nt.c
index 0d8ec75150..f458f68b74 100644
--- a/source3/rpc_server/srv_lsa_nt.c
+++ b/source3/rpc_server/srv_lsa_nt.c
@@ -1004,43 +1004,29 @@ NTSTATUS _lsa_lookup_sids2(pipes_struct *p,
/***************************************************************************
_lsa_lookup_sida3
+
+ Before someone actually re-activates this, please present a sniff showing
+ this call against some Windows server. I (vl) could not make it work against
+ w2k3 at all.
***************************************************************************/
NTSTATUS _lsa_lookup_sids3(pipes_struct *p,
LSA_Q_LOOKUP_SIDS3 *q_u,
LSA_R_LOOKUP_SIDS3 *r_u)
{
- int num_sids = q_u->sids.num_entries;
uint32 mapped_count = 0;
- DOM_R_REF *ref = NULL;
- LSA_TRANS_NAME_ENUM2 *names = NULL;
+ DOM_R_REF ref;
+ LSA_TRANS_NAME_ENUM2 names;
if ((q_u->level < 1) || (q_u->level > 6)) {
return NT_STATUS_INVALID_PARAMETER;
}
- /* No policy handle on this call. Restrict to crypto connections. */
- if (p->auth.auth_type != PIPE_AUTH_TYPE_SCHANNEL) {
- DEBUG(0,("_lsa_lookup_sids3: client %s not using schannel for netlogon\n",
- get_remote_machine_name() ));
- return NT_STATUS_INVALID_PARAMETER;
- }
-
- if (num_sids > MAX_LOOKUP_SIDS) {
- DEBUG(5,("_lsa_lookup_sids3: limit of %d exceeded, requested %d\n",
- MAX_LOOKUP_SIDS, num_sids));
- return NT_STATUS_NONE_MAPPED;
- }
-
- r_u->status = _lsa_lookup_sids_internal(p,
- q_u->level,
- num_sids,
- q_u->sids.sid,
- &ref,
- &names,
- &mapped_count);
+ r_u->status = NT_STATUS_RPC_PROTSEQ_NOT_SUPPORTED;
- init_reply_lookup_sids3(r_u, ref, names, mapped_count);
+ ZERO_STRUCT(ref);
+ ZERO_STRUCT(names);
+ init_reply_lookup_sids3(r_u, &ref, &names, mapped_count);
return r_u->status;
}