diff options
author | Andrew Bartlett <abartlet@samba.org> | 2008-08-12 17:46:01 +1000 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2008-08-12 17:46:01 +1000 |
commit | b5a3f45f645204bcc3d6caa47993b7839c8e4c99 (patch) | |
tree | 4e6370669009d54b0f92c222b9d877f9a3004154 /source4/rpc_server/netlogon/dcerpc_netlogon.c | |
parent | dd5cdf3c99f5bfe40c68bbc2f91ce419d27f0a05 (diff) | |
download | samba-b5a3f45f645204bcc3d6caa47993b7839c8e4c99.tar.gz samba-b5a3f45f645204bcc3d6caa47993b7839c8e4c99.tar.bz2 samba-b5a3f45f645204bcc3d6caa47993b7839c8e4c99.zip |
Add GenericInfo level for SamLogon calls from the WSPP IDL.
Andrew Bartlett
(This used to be commit ea58b650a81b48b0477edbcda1e4e26a3b2a9b9e)
Diffstat (limited to 'source4/rpc_server/netlogon/dcerpc_netlogon.c')
-rw-r--r-- | source4/rpc_server/netlogon/dcerpc_netlogon.c | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/source4/rpc_server/netlogon/dcerpc_netlogon.c b/source4/rpc_server/netlogon/dcerpc_netlogon.c index d9ae92c0fa..763e6a327e 100644 --- a/source4/rpc_server/netlogon/dcerpc_netlogon.c +++ b/source4/rpc_server/netlogon/dcerpc_netlogon.c @@ -421,9 +421,10 @@ static NTSTATUS dcesrv_netr_LogonSamLogon_base(struct dcesrv_call_state *dce_cal user_info->remote_host = NULL; switch (r->in.logon_level) { - case 1: - case 3: - case 5: + case NetlogonInteractiveInformation: + case NetlogonServiceInformation: + case NetlogonInteractiveTransitiveInformation: + case NetlogonServiceTransitiveInformation: if (creds->negotiate_flags & NETLOGON_NEG_ARCFOUR) { creds_arcfour_crypt(creds, r->in.logon.password->lmpassword.hash, @@ -460,8 +461,8 @@ static NTSTATUS dcesrv_netr_LogonSamLogon_base(struct dcesrv_call_state *dce_cal *user_info->password.hash.nt = r->in.logon.password->ntpassword; break; - case 2: - case 6: + case NetlogonNetworkInformation: + case NetlogonNetworkTransitiveInformation: /* TODO: we need to deny anonymous access here */ nt_status = auth_context_create(mem_ctx, @@ -483,6 +484,13 @@ static NTSTATUS dcesrv_netr_LogonSamLogon_base(struct dcesrv_call_state *dce_cal user_info->password.response.nt = data_blob_talloc(mem_ctx, r->in.logon.network->nt.data, r->in.logon.network->nt.length); break; + + + case NetlogonGenericInformation: + { + /* Until we get enough information for an implemetnation */ + return NT_STATUS_INVALID_PARAMETER; + } default: return NT_STATUS_INVALID_PARAMETER; } |