From 65f86a644a8171a99c63b6cb32e01e22897174f6 Mon Sep 17 00:00:00 2001 From: Günther Deschner Date: Fri, 29 May 2009 12:42:15 +0200 Subject: s3-netlogon: return proper error code for unsupported validation class. Guenther --- source3/rpc_server/srv_netlog_nt.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'source3/rpc_server/srv_netlog_nt.c') diff --git a/source3/rpc_server/srv_netlog_nt.c b/source3/rpc_server/srv_netlog_nt.c index 333eabe2ce..73d1f4b1a5 100644 --- a/source3/rpc_server/srv_netlog_nt.c +++ b/source3/rpc_server/srv_netlog_nt.c @@ -893,7 +893,7 @@ NTSTATUS _netr_LogonSamLogon(pipes_struct *p, if (r->in.validation_level != 2 && r->in.validation_level != 3) { DEBUG(0,("%s: bad validation_level value %d.\n", fn, (int)r->in.validation_level)); - return NT_STATUS_ACCESS_DENIED; + return NT_STATUS_INVALID_INFO_CLASS; } if (process_creds) { -- cgit From 90b38906541de554e3964d96ed83a7c71b5ea05c Mon Sep 17 00:00:00 2001 From: Günther Deschner Date: Fri, 29 May 2009 13:15:27 +0200 Subject: s3-netlogon: Fix _netr_LogonSamLogon{Ex} with validation level != 3. Guenther --- source3/rpc_server/srv_netlog_nt.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'source3/rpc_server/srv_netlog_nt.c') diff --git a/source3/rpc_server/srv_netlog_nt.c b/source3/rpc_server/srv_netlog_nt.c index 73d1f4b1a5..7f45a4809c 100644 --- a/source3/rpc_server/srv_netlog_nt.c +++ b/source3/rpc_server/srv_netlog_nt.c @@ -882,6 +882,13 @@ NTSTATUS _netr_LogonSamLogon(pipes_struct *p, return NT_STATUS_ACCESS_DENIED; } + *r->out.authoritative = true; /* authoritative response */ + if (r->in.validation_level != 2 && r->in.validation_level != 3) { + DEBUG(0,("%s: bad validation_level value %d.\n", + fn, (int)r->in.validation_level)); + return NT_STATUS_INVALID_INFO_CLASS; + } + sam3 = TALLOC_ZERO_P(p->mem_ctx, struct netr_SamInfo3); if (!sam3) { return NT_STATUS_NO_MEMORY; @@ -889,12 +896,6 @@ NTSTATUS _netr_LogonSamLogon(pipes_struct *p, /* store the user information, if there is any. */ r->out.validation->sam3 = sam3; - *r->out.authoritative = true; /* authoritative response */ - if (r->in.validation_level != 2 && r->in.validation_level != 3) { - DEBUG(0,("%s: bad validation_level value %d.\n", - fn, (int)r->in.validation_level)); - return NT_STATUS_INVALID_INFO_CLASS; - } if (process_creds) { -- cgit