svn commit: samba r17504 - in branches/SAMBA_4_0/source: dsdb/common lib/ldb/tests/schema-tests setup

idra at samba.org idra at samba.org
Sat Aug 12 15:22:05 GMT 2006


Author: idra
Date: 2006-08-12 15:22:03 +0000 (Sat, 12 Aug 2006)
New Revision: 17504

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

Log:

Do not use the invented unixID but use the rfc2307 uidNumber and gidNumber attributes instead
Do not change unixName right now, we don't have an attribute to use in the posixGroup class,
and I think we should remove its usage altogether and look up users and groups by their uid/gid only.

Simo.


Modified:
   branches/SAMBA_4_0/source/dsdb/common/sidmap.c
   branches/SAMBA_4_0/source/lib/ldb/tests/schema-tests/schema.ldif
   branches/SAMBA_4_0/source/setup/provision_init.ldif


Changeset:
Modified: branches/SAMBA_4_0/source/dsdb/common/sidmap.c
===================================================================
--- branches/SAMBA_4_0/source/dsdb/common/sidmap.c	2006-08-12 15:20:06 UTC (rev 17503)
+++ branches/SAMBA_4_0/source/dsdb/common/sidmap.c	2006-08-12 15:22:03 UTC (rev 17504)
@@ -126,8 +126,8 @@
 _PUBLIC_ NTSTATUS sidmap_sid_to_unixuid(struct sidmap_context *sidmap, 
 					struct dom_sid *sid, uid_t *uid)
 {
-	const char *attrs[] = { "sAMAccountName", "unixID", 
-				"unixName", "sAMAccountType", NULL };
+	const char *attrs[] = { "sAMAccountName", "uidNumber", 
+				"sAMAccountType", NULL };
 	int ret;
 	const char *s;
 	TALLOC_CTX *tmp_ctx;
@@ -152,7 +152,7 @@
 	}
 
 	/* first try to get the uid directly */
-	s = samdb_result_string(res[0], "unixID", NULL);
+	s = samdb_result_string(res[0], "uidNumber", NULL);
 	if (s != NULL) {
 		*uid = strtoul(s, NULL, 0);
 		talloc_free(tmp_ctx);
@@ -208,7 +208,7 @@
 	}
 	
 
-	DEBUG(0,("sid_to_unixuid: no unixID, unixName or sAMAccountName for sid %s\n", 
+	DEBUG(0,("sid_to_unixuid: no uidNumber, unixName or sAMAccountName for sid %s\n", 
 		 dom_sid_string(tmp_ctx, sid)));
 
 	talloc_free(tmp_ctx);
@@ -222,7 +222,7 @@
 _PUBLIC_ NTSTATUS sidmap_sid_to_unixgid(struct sidmap_context *sidmap,
 					struct dom_sid *sid, gid_t *gid)
 {
-	const char *attrs[] = { "sAMAccountName", "unixID", 
+	const char *attrs[] = { "sAMAccountName", "gidNumber", 
 				"unixName", "sAMAccountType", NULL };
 	int ret;
 	const char *s;
@@ -248,7 +248,7 @@
 	}
 
 	/* first try to get the gid directly */
-	s = samdb_result_string(res[0], "unixID", NULL);
+	s = samdb_result_string(res[0], "gidNumber", NULL);
 	if (s != NULL) {
 		*gid = strtoul(s, NULL, 0);
 		talloc_free(tmp_ctx);
@@ -300,7 +300,7 @@
 		}
 	}
 
-	DEBUG(0,("sid_to_unixgid: no unixID, unixName or sAMAccountName for sid %s\n", 
+	DEBUG(0,("sid_to_unixgid: no gidNumber, unixName or sAMAccountName for sid %s\n", 
 		 dom_sid_string(tmp_ctx, sid)));
 
 	talloc_free(tmp_ctx);
@@ -330,7 +330,7 @@
 	    - check if the uid is in the dynamic uid range assigned for winbindd
 	      use. If it is, then look in winbindd sid mapping
 	      database (not implemented yet)
-	    - look for a user account in samdb that has unixID set to the
+	    - look for a user account in samdb that has uidNumber set to the
 	      given uid
 	    - look for a user account in samdb that has unixName or
 	      sAMAccountName set to the name given by getpwuid()
@@ -343,12 +343,12 @@
 
 
 	/*
-	  step 2: look for a user account in samdb that has unixID set to the
+	  step 2: look for a user account in samdb that has uidNumber set to the
                   given uid
 	*/
 
 	ret = gendb_search(sidmap->samctx, tmp_ctx, samdb_base_dn(tmp_ctx), &res, attrs, 
-			   "unixID=%u", (unsigned int)uid);
+			   "uidNumber=%u", (unsigned int)uid);
 	for (i=0;i<ret;i++) {
 		if (!is_user_account(res[i])) continue;
 
@@ -428,7 +428,7 @@
 	    - check if the gid is in the dynamic gid range assigned for winbindd
 	      use. If it is, then look in winbindd sid mapping
 	      database (not implemented yet)
-	    - look for a group account in samdb that has unixID set to the
+	    - look for a group account in samdb that has gidNumber set to the
 	      given gid
 	    - look for a group account in samdb that has unixName or
 	      sAMAccountName set to the name given by getgrgid()
@@ -441,12 +441,12 @@
 
 
 	/*
-	  step 2: look for a group account in samdb that has unixID set to the
+	  step 2: look for a group account in samdb that has gidNumber set to the
                   given gid
 	*/
 
 	ret = gendb_search(sidmap->samctx, tmp_ctx, samdb_base_dn(tmp_ctx), &res, attrs, 
-			   "unixID=%u", (unsigned int)gid);
+			   "gidNumber=%u", (unsigned int)gid);
 	for (i=0;i<ret;i++) {
 		if (!is_group_account(res[i])) continue;
 

Modified: branches/SAMBA_4_0/source/lib/ldb/tests/schema-tests/schema.ldif
===================================================================
--- branches/SAMBA_4_0/source/lib/ldb/tests/schema-tests/schema.ldif	2006-08-12 15:20:06 UTC (rev 17503)
+++ branches/SAMBA_4_0/source/lib/ldb/tests/schema-tests/schema.ldif	2006-08-12 15:22:03 UTC (rev 17504)
@@ -4,7 +4,8 @@
 @IDXATTR: objectSid
 @IDXATTR: objectClass
 @IDXATTR: member
- at IDXATTR: unixID
+ at IDXATTR: uidNumber
+ at IDXATTR: gidNumber
 @IDXATTR: unixName
 @IDXATTR: privilege
 @IDXATTR: lDAPDisplayName

Modified: branches/SAMBA_4_0/source/setup/provision_init.ldif
===================================================================
--- branches/SAMBA_4_0/source/setup/provision_init.ldif	2006-08-12 15:20:06 UTC (rev 17503)
+++ branches/SAMBA_4_0/source/setup/provision_init.ldif	2006-08-12 15:22:03 UTC (rev 17504)
@@ -5,7 +5,8 @@
 @IDXATTR: objectClass
 @IDXATTR: objectCategory
 @IDXATTR: member
- at IDXATTR: unixID
+ at IDXATTR: uidNumber
+ at IDXATTR: gidNumber
 @IDXATTR: unixName
 @IDXATTR: privilege
 @IDXATTR: nCName



More information about the samba-cvs mailing list