svn commit: samba r3365 - in branches/SAMBA_4_0/source/libcli/auth: .

abartlet at samba.org abartlet at samba.org
Fri Oct 29 09:58:23 GMT 2004


Author: abartlet
Date: 2004-10-29 09:58:23 +0000 (Fri, 29 Oct 2004)
New Revision: 3365

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=3365

Log:
Fill in the user and primary group SIDs into the 'server info' before
the session info.

Andrew Bartlett

Modified:
   branches/SAMBA_4_0/source/libcli/auth/gensec_krb5.c


Changeset:
Modified: branches/SAMBA_4_0/source/libcli/auth/gensec_krb5.c
===================================================================
--- branches/SAMBA_4_0/source/libcli/auth/gensec_krb5.c	2004-10-29 09:57:31 UTC (rev 3364)
+++ branches/SAMBA_4_0/source/libcli/auth/gensec_krb5.c	2004-10-29 09:58:23 UTC (rev 3365)
@@ -616,8 +616,8 @@
 
 	*session_info_out = NULL;
 
-	/* IF we have the PAC - otherwise (TODO) we need to get this
-	 * data from elsewere - local ldb, or lookup of some
+	/* IF we have the PAC - otherwise we need to get this
+	 * data from elsewere - local ldb, or (TODO) lookup of some
 	 * kind... */
 
 	principal = talloc_strdup(gensec_krb5_state, gensec_krb5_state->peer_principal);
@@ -666,14 +666,17 @@
 		}
 		
 		
-		sid = dom_sid_dup(session_info, logon_info->dom_sid);
-		ptoken->user_sids[0] = dom_sid_add_rid(session_info, sid, logon_info->user_rid);
+		sid = dom_sid_dup(server_info, logon_info->dom_sid);
+		server_info->user_sid = dom_sid_add_rid(server_info, sid, logon_info->user_rid);
+		sid = dom_sid_dup(server_info, logon_info->dom_sid);
+		server_info->primary_group_sid = dom_sid_add_rid(server_info, sid, logon_info->group_rid);
+
+		ptoken->user_sids[0] = talloc_reference(session_info, server_info->user_sid);
 		ptoken->num_sids++;
-		sid = dom_sid_dup(session_info, logon_info->dom_sid);
-		ptoken->user_sids[1] = dom_sid_add_rid(session_info, sid, logon_info->group_rid);
+		ptoken->user_sids[1] = talloc_reference(session_info, server_info->primary_group_sid);
 		ptoken->num_sids++;
-		
-		for (;ptoken->num_sids < logon_info->groups_count; ptoken->num_sids++) {
+
+		for (;ptoken->num_sids < (logon_info->groups_count + 2); ptoken->num_sids++) {
 			sid = dom_sid_dup(session_info, logon_info->dom_sid);
 			ptoken->user_sids[ptoken->num_sids]
 				= dom_sid_add_rid(session_info, sid, 



More information about the samba-cvs mailing list