svn commit: samba r13791 - branches/SAMBA_3_0/source/passdb trunk/source/passdb

vlendec at samba.org vlendec at samba.org
Thu Mar 2 18:33:43 GMT 2006


Author: vlendec
Date: 2006-03-02 18:33:43 +0000 (Thu, 02 Mar 2006)
New Revision: 13791

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

Log:
Having S-1-1-0 show up in winbind lookupsid does not really make sense.

Volker


Modified:
   branches/SAMBA_3_0/source/passdb/lookup_sid.c
   branches/SAMBA_3_0/source/passdb/util_wellknown.c
   trunk/source/passdb/lookup_sid.c
   trunk/source/passdb/util_wellknown.c


Changeset:
Modified: branches/SAMBA_3_0/source/passdb/lookup_sid.c
===================================================================
--- branches/SAMBA_3_0/source/passdb/lookup_sid.c	2006-03-02 17:06:49 UTC (rev 13790)
+++ branches/SAMBA_3_0/source/passdb/lookup_sid.c	2006-03-02 18:33:43 UTC (rev 13791)
@@ -1191,9 +1191,13 @@
 		goto done;
 	}
 
-	if (sid_check_is_in_builtin(psid) && pdb_getgrsid(&map, *psid)) {
-		*pgid = map.gid;
-		goto done;
+	if ((sid_check_is_in_builtin(psid) ||
+	     sid_check_is_in_wellknown_domain(psid))) {
+		if (pdb_getgrsid(&map, *psid)) {
+			*pgid = map.gid;
+			goto done;
+		}
+		return False;
 	}
 
 	if (sid_peek_check_rid(get_global_sam_sid(), psid, &rid)) {

Modified: branches/SAMBA_3_0/source/passdb/util_wellknown.c
===================================================================
--- branches/SAMBA_3_0/source/passdb/util_wellknown.c	2006-03-02 17:06:49 UTC (rev 13790)
+++ branches/SAMBA_3_0/source/passdb/util_wellknown.c	2006-03-02 18:33:43 UTC (rev 13791)
@@ -85,6 +85,17 @@
 	return False;
 }
 
+BOOL sid_check_is_in_wellknown_domain(const DOM_SID *sid)
+{
+	DOM_SID dom_sid;
+	uint32 rid;
+
+	sid_copy(&dom_sid, sid);
+	sid_split_rid(&dom_sid, &rid);
+	
+	return sid_check_is_wellknown_domain(&dom_sid, NULL);
+}
+
 /**************************************************************************
  Looks up a known username from one of the known domains.
 ***************************************************************************/

Modified: trunk/source/passdb/lookup_sid.c
===================================================================
--- trunk/source/passdb/lookup_sid.c	2006-03-02 17:06:49 UTC (rev 13790)
+++ trunk/source/passdb/lookup_sid.c	2006-03-02 18:33:43 UTC (rev 13791)
@@ -1191,9 +1191,13 @@
 		goto done;
 	}
 
-	if (sid_check_is_in_builtin(psid) && pdb_getgrsid(&map, *psid)) {
-		*pgid = map.gid;
-		goto done;
+	if ((sid_check_is_in_builtin(psid) ||
+	     sid_check_is_in_wellknown_domain(psid))) {
+		if (pdb_getgrsid(&map, *psid)) {
+			*pgid = map.gid;
+			goto done;
+		}
+		return False;
 	}
 
 	if (sid_peek_check_rid(get_global_sam_sid(), psid, &rid)) {

Modified: trunk/source/passdb/util_wellknown.c
===================================================================
--- trunk/source/passdb/util_wellknown.c	2006-03-02 17:06:49 UTC (rev 13790)
+++ trunk/source/passdb/util_wellknown.c	2006-03-02 18:33:43 UTC (rev 13791)
@@ -85,6 +85,17 @@
 	return False;
 }
 
+BOOL sid_check_is_in_wellknown_domain(const DOM_SID *sid)
+{
+	DOM_SID dom_sid;
+	uint32 rid;
+
+	sid_copy(&dom_sid, sid);
+	sid_split_rid(&dom_sid, &rid);
+	
+	return sid_check_is_wellknown_domain(&dom_sid, NULL);
+}
+
 /**************************************************************************
  Looks up a known username from one of the known domains.
 ***************************************************************************/



More information about the samba-cvs mailing list