svn commit: samba r24262 - in branches/SAMBA_4_0:
source/dsdb/samdb/ldb_modules source/setup testprogs/ejs
abartlet at samba.org
abartlet at samba.org
Tue Aug 7 05:58:48 GMT 2007
Author: abartlet
Date: 2007-08-07 05:58:47 +0000 (Tue, 07 Aug 2007)
New Revision: 24262
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=24262
Log:
Set the objectCategory by default in the objectclass module, rather than using templates.
Modify the samba3sam test to be less fussy, and not use the
objectclass module (which requires proper schema stuff now).
Andrew Bartlett
Modified:
branches/SAMBA_4_0/source/dsdb/samdb/ldb_modules/objectclass.c
branches/SAMBA_4_0/source/setup/provision_templates.ldif
branches/SAMBA_4_0/testprogs/ejs/samba3sam.js
Changeset:
Modified: branches/SAMBA_4_0/source/dsdb/samdb/ldb_modules/objectclass.c
===================================================================
--- branches/SAMBA_4_0/source/dsdb/samdb/ldb_modules/objectclass.c 2007-08-07 04:29:42 UTC (rev 24261)
+++ branches/SAMBA_4_0/source/dsdb/samdb/ldb_modules/objectclass.c 2007-08-07 05:58:47 UTC (rev 24262)
@@ -161,7 +161,7 @@
/* Save the next pointer, as the DLIST_ macros will change poss_subclass->next */
next = poss_subclass->next;
- if (ldb_attr_cmp(class->subClassOf, current->objectclass) == 0) {
+ if (class && ldb_attr_cmp(class->subClassOf, current->objectclass) == 0) {
DLIST_REMOVE(unsorted, poss_subclass);
DLIST_ADD(subclass, poss_subclass);
@@ -199,6 +199,7 @@
static int objectclass_add(struct ldb_module *module, struct ldb_request *req)
{
struct ldb_message_element *objectclass_element;
+ const struct dsdb_schema *schema = dsdb_get_schema(module->ldb);
struct class_list *sorted, *current;
struct ldb_request *down_req;
struct ldb_message *msg;
@@ -265,6 +266,14 @@
talloc_free(mem_ctx);
return ret;
}
+ /* Last one */
+ if (schema && !current->next && !ldb_msg_find_element(msg, "objectCategory")) {
+ const struct dsdb_class *objectclass
+ = dsdb_class_by_lDAPDisplayName(schema, current->objectclass);
+ if (objectclass) {
+ ldb_msg_add_string(msg, "objectCategory", objectclass->defaultObjectCategory);
+ }
+ }
}
talloc_free(mem_ctx);
Modified: branches/SAMBA_4_0/source/setup/provision_templates.ldif
===================================================================
--- branches/SAMBA_4_0/source/setup/provision_templates.ldif 2007-08-07 04:29:42 UTC (rev 24261)
+++ branches/SAMBA_4_0/source/setup/provision_templates.ldif 2007-08-07 05:58:47 UTC (rev 24262)
@@ -4,7 +4,6 @@
description: Container for SAM account templates
showInAdvancedViewOnly: TRUE
systemFlags: 2348810240
-objectCategory: CN=Container,${SCHEMADN}
isCriticalSystemObject: TRUE
###
@@ -30,7 +29,6 @@
accountExpires: -1
logonCount: 0
sAMAccountType: 805306368
-objectCategory: CN=Person,${SCHEMADN}
dn: CN=TemplateComputer,CN=Templates
objectClass: top
@@ -50,7 +48,6 @@
accountExpires: -1
logonCount: 0
sAMAccountType: 805306369
-objectCategory: CN=Computer,${SCHEMADN}
dn: CN=TemplateTrustingDomain,CN=Templates
objectClass: top
@@ -74,7 +71,6 @@
objectClass: groupTemplate
groupType: -2147483646
sAMAccountType: 268435456
-objectCategory: CN=Group,${SCHEMADN}
# Currently this isn't used, we don't have a way to detect it different from an incoming alias
#
@@ -92,7 +88,6 @@
objectClass: Template
objectClass: foreignSecurityPrincipalTemplate
showInAdvancedViewOnly: TRUE
-objectCategory: CN=Foreign-Security-Principal,${SCHEMADN}
dn: CN=TemplateSecret,CN=Templates
objectClass: top
Modified: branches/SAMBA_4_0/testprogs/ejs/samba3sam.js
===================================================================
--- branches/SAMBA_4_0/testprogs/ejs/samba3sam.js 2007-08-07 04:29:42 UTC (rev 24261)
+++ branches/SAMBA_4_0/testprogs/ejs/samba3sam.js 2007-08-07 05:58:47 UTC (rev 24262)
@@ -46,7 +46,7 @@
@TO: sambaDomainName=TESTS," + s3.BASEDN + "
dn: @MODULES
- at LIST: rootdse,paged_results,server_sort,extended_dn,asq,samldb,objectclass,password_hash,operational,objectguid,rdn_name,samba3sam,partition
+ at LIST: rootdse,paged_results,server_sort,extended_dn,asq,samldb,password_hash,operational,objectguid,rdn_name,samba3sam,partition
dn: @PARTITION
partition: " + s4.BASEDN + ":" + s4.url + "
@@ -482,7 +482,7 @@
assert(res.msgs[0].dnsHostName == "x");
assert(res.msgs[0].lastLogon == "x");
assert(res.msgs[0].objectClass != undefined);
- assert(res.msgs[0].objectClass[3] == "user");
+ assert(res.msgs[0].objectClass[0] == "user");
assert(res.msgs[1].dn == s4.dn("cn=A"));
assert(res.msgs[1].dnsHostName == undefined);
assert(res.msgs[1].lastLogon == "x");
@@ -504,7 +504,7 @@
assert(res.msgs[1].dnsHostName == "x");
assert(res.msgs[1].lastLogon == "x");
assert(res.msgs[1].objectClass != undefined);
- assert(res.msgs[1].objectClass[3] == "user");
+ assert(res.msgs[1].objectClass[0] == "user");
assert(res.msgs[2].dn == s4.dn("cn=A"));
assert(res.msgs[2].dnsHostName == undefined);
assert(res.msgs[2].lastLogon == "x");
More information about the samba-cvs
mailing list