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