[SCM] Samba Shared Repository - branch v3-2-test updated - initial-v3-2-unstable-63-g15935ba

Stefan Metzmacher metze at samba.org
Wed Oct 17 11:40:12 GMT 2007


The branch, v3-2-test has been updated
       via  15935bad1d756d3896f0687108e60ca10a35a936 (commit)
      from  cb98869fa189ce2a926a00fa9077a114f31a5d45 (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-2-test


- Log -----------------------------------------------------------------
commit 15935bad1d756d3896f0687108e60ca10a35a936
Author: Volker Lendecke <vlendec at samba.org>
Date:   Sat Jul 15 17:55:01 2006 +0000

    r17064: lsa_GetUserName needs to return the name for S-1-5-7 on an anonymous login.
    
    Found that because I want to play around with setsharesecurity, for this I
    need the "whoami" call figuring out the SID of the currently connected user.
    
    Not activating this test yet until the build farm has picked up the new samba4
    revision.
    
    Volker
    (cherry picked from commit 5cfe482841b77208b68376f9e2b8a4a62271f7c9)

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

Summary of changes:
 source/rpc_server/srv_lsa_nt.c |   20 ++++++++++++++++----
 1 files changed, 16 insertions(+), 4 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source/rpc_server/srv_lsa_nt.c b/source/rpc_server/srv_lsa_nt.c
index c513d84..ea2bc0f 100644
--- a/source/rpc_server/srv_lsa_nt.c
+++ b/source/rpc_server/srv_lsa_nt.c
@@ -1545,14 +1545,26 @@ NTSTATUS _lsa_enum_accounts(pipes_struct *p, LSA_Q_ENUM_ACCOUNTS *q_u, LSA_R_ENU
 
 NTSTATUS _lsa_unk_get_connuser(pipes_struct *p, LSA_Q_UNK_GET_CONNUSER *q_u, LSA_R_UNK_GET_CONNUSER *r_u)
 {
-	fstring username, domname;
+	const char *username, *domname;
 	user_struct *vuser = get_valid_user_struct(p->vuid);
   
 	if (vuser == NULL)
 		return NT_STATUS_CANT_ACCESS_DOMAIN_INFO;
-  
-	fstrcpy(username, vuser->user.smb_name);
-	fstrcpy(domname, vuser->user.domain);
+
+	if (vuser->guest) {
+		/*
+		 * I'm 99% sure this is not the right place to do this,
+		 * global_sid_Anonymous should probably be put into the token
+		 * instead of the guest id -- vl
+		 */
+		if (!lookup_sid(p->mem_ctx, &global_sid_Anonymous,
+				&domname, &username, NULL)) {
+			return NT_STATUS_NO_MEMORY;
+		}
+	} else {
+		username = vuser->user.smb_name;
+		domname = vuser->user.domain;
+	}
   
 	r_u->ptr_user_name = 1;
 	init_unistr2(&r_u->uni2_user_name, username, UNI_STR_TERMINATE);


-- 
Samba Shared Repository


More information about the samba-cvs mailing list