[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha8-44-ga6ab195

Günther Deschner gd at samba.org
Tue Jun 23 09:19:21 GMT 2009


The branch, master has been updated
       via  a6ab195d72ab5b986f278662f1fbbb5d983effec (commit)
      from  e4dec230e971a761d3ff9a31013f130d55e63fd0 (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit a6ab195d72ab5b986f278662f1fbbb5d983effec
Author: Günther Deschner <gd at samba.org>
Date:   Tue Jun 23 11:16:23 2009 +0200

    s3-lsa: Fix error path in _lsa_EnumAccountRights.
    
    This needs to return NT_STATUS_OBJECT_NAME_NOT_FOUND
    again as described in MS-LSAD 3.1.4.5.10 and tested with the
    RPC-SAMR-USER-PRIVILEGES test.
    
    Guenther

-----------------------------------------------------------------------

Summary of changes:
 source3/rpc_server/srv_lsa_nt.c |   13 +++++++++++--
 1 files changed, 11 insertions(+), 2 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/rpc_server/srv_lsa_nt.c b/source3/rpc_server/srv_lsa_nt.c
index 8773c29..3e44c8e 100644
--- a/source3/rpc_server/srv_lsa_nt.c
+++ b/source3/rpc_server/srv_lsa_nt.c
@@ -2152,9 +2152,18 @@ NTSTATUS _lsa_EnumAccountRights(pipes_struct *p,
 
 	sid_copy( &sid, r->in.sid );
 
-	get_privileges_for_sids(&mask, &sid, 1);
+	/* according to MS-LSAD 3.1.4.5.10 it is required to return
+	 * NT_STATUS_OBJECT_NAME_NOT_FOUND if the account sid was not found in
+	 * the lsa database */
 
-	privilege_set_init( &privileges );
+	if (!get_privileges_for_sids(&mask, &sid, 1)) {
+		return NT_STATUS_OBJECT_NAME_NOT_FOUND;
+	}
+
+	status = privilege_set_init(&privileges);
+	if (!NT_STATUS_IS_OK(status)) {
+		return status;
+	}
 
 	se_priv_to_privilege_set(&privileges, &mask);
 


-- 
Samba Shared Repository


More information about the samba-cvs mailing list