r1029: cope wiith samdb_result_passwords() returning a null machine password
authorAndrew Tridgell <tridge@samba.org>
Sat, 5 Jun 2004 04:51:24 +0000 (04:51 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 17:56:30 +0000 (12:56 -0500)
(This used to be commit ee6c17f3735381568d38e6c2df80bec687d00fbb)

source4/rpc_server/netlogon/dcerpc_netlogon.c

index 05ee0521fc435c8c14886d97235556f4c07ce80f..5c5e81280507e851ed53f250b4bae5bd419b3fae 100644 (file)
@@ -182,7 +182,7 @@ static NTSTATUS netr_ServerAuthenticate3(struct dcesrv_call_state *dce_call, TAL
        *r->out.rid = samdb_result_rid_from_sid(mem_ctx, msgs[0], "objectSid", 0);
 
        nt_status = samdb_result_passwords(mem_ctx, msgs[0], NULL, &mach_pwd);
-       if (!NT_STATUS_IS_OK(nt_status)) {
+       if (!NT_STATUS_IS_OK(nt_status) || mach_pwd == NULL) {
                samdb_close(sam_ctx);
                return NT_STATUS_ACCESS_DENIED;
        }
@@ -336,6 +336,7 @@ static NTSTATUS netr_ServerPasswordSet(struct dcesrv_call_state *dce_call, TALLO
        domain_sid = samdb_result_sid_prefix(mem_ctx, msgs[0], "objectSid");
        if (!domain_sid) {
                samdb_close(sam_ctx);
+               DEBUG(1,("no objectSid in user record\n"));
                return NT_STATUS_INTERNAL_DB_CORRUPTION;
        }