diff options
author | Stefan Metzmacher <metze@samba.org> | 2014-01-11 17:13:04 +0100 |
---|---|---|
committer | Stefan Metzmacher <metze@samba.org> | 2014-01-22 17:12:29 +0100 |
commit | 25fb73f2821821630dde4cc263794e754ca03d68 (patch) | |
tree | b49845fe6364bd93fd340e8b59d1bb325d393cfd | |
parent | dcc2c8362df9af088613722ebd8a6261fb098a5c (diff) | |
download | samba-25fb73f2821821630dde4cc263794e754ca03d68.tar.gz samba-25fb73f2821821630dde4cc263794e754ca03d68.tar.xz samba-25fb73f2821821630dde4cc263794e754ca03d68.zip |
s4:rpc_server/netlogon: return a zero return_authenticator and rid on error
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
-rw-r--r-- | source4/rpc_server/netlogon/dcerpc_netlogon.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/source4/rpc_server/netlogon/dcerpc_netlogon.c b/source4/rpc_server/netlogon/dcerpc_netlogon.c index 0dd215df6c..c3e33bd420 100644 --- a/source4/rpc_server/netlogon/dcerpc_netlogon.c +++ b/source4/rpc_server/netlogon/dcerpc_netlogon.c @@ -268,9 +268,6 @@ static NTSTATUS dcesrv_netr_ServerAuthenticate3(struct dcesrv_call_state *dce_ca return NT_STATUS_INTERNAL_ERROR; } - *r->out.rid = samdb_result_rid_from_sid(mem_ctx, msgs[0], - "objectSid", 0); - mach_pwd = samdb_result_hash(mem_ctx, msgs[0], "unicodePwd"); if (mach_pwd == NULL) { return NT_STATUS_ACCESS_DENIED; @@ -300,8 +297,15 @@ static NTSTATUS dcesrv_netr_ServerAuthenticate3(struct dcesrv_call_state *dce_ca nt_status = schannel_save_creds_state(mem_ctx, dce_call->conn->dce_ctx->lp_ctx, creds); + if (!NT_STATUS_IS_OK(nt_status)) { + ZERO_STRUCTP(r->out.return_credentials); + return nt_status; + } - return nt_status; + *r->out.rid = samdb_result_rid_from_sid(mem_ctx, msgs[0], + "objectSid", 0); + + return NT_STATUS_OK; } static NTSTATUS dcesrv_netr_ServerAuthenticate(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, |