svn commit: samba r20999 - in branches/SAMBA_4_0/testprogs/ejs: .
metze at samba.org
metze at samba.org
Wed Jan 24 12:23:42 GMT 2007
Author: metze
Date: 2007-01-24 12:23:42 +0000 (Wed, 24 Jan 2007)
New Revision: 20999
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=20999
Log:
- update the list of attributes for classSchema and atttributeSchema objects
- use ${SCHEMADN} instead of CN=Schema,CN=Configuration,${BASEDN}
- do not include autogenerated values: instanceType, cn and name in the ldif output
- take care of the systemOnly attribute and a resulting NO-USER-MODIFICATION
metze
Modified:
branches/SAMBA_4_0/testprogs/ejs/minschema.js
Changeset:
Modified: branches/SAMBA_4_0/testprogs/ejs/minschema.js
===================================================================
--- branches/SAMBA_4_0/testprogs/ejs/minschema.js 2007-01-24 11:26:22 UTC (rev 20998)
+++ branches/SAMBA_4_0/testprogs/ejs/minschema.js 2007-01-24 12:23:42 UTC (rev 20999)
@@ -40,23 +40,70 @@
objectclasses_expanded = new Object();
/* the attributes we need for objectclasses */
-class_attrs = new Array("objectClass",
- "auxiliaryClass", "systemAuxiliaryClass",
- "possSuperiors", "systemPossSuperiors",
- "lDAPDisplayName", "governsID",
- "rDNAttID", "mustContain", "systemMustContain",
- "mayContain", "systemMayContain",
- "objectClassCategory", "subClassOf",
- "defaultObjectCategory", "defaultHidingValue",
- "systemFlags", "systemOnly", "defaultSecurityDescriptor",
- "objectCategory", "possibleInferiors", "displaySpecification",
- "schemaIDGUID");
+class_attrs = new Array("objectClass",
+ "subClassOf",
+ "governsID",
+ "possSuperiors",
+ "mayContain",
+ "mustContain",
+ "auxiliaryClass",
+ "rDNAttID",
+ "showInAdvancedViewOnly",
+ "adminDisplayName",
+ "adminDescription",
+ "objectClassCategory",
+ "lDAPDisplayName",
+ "schemaIDGUID",
+ "systemOnly",
+ "systemPossSuperiors",
+ "systemMayContain",
+ "systemMustContain",
+ "systemAuxiliaryClass",
+ "defaultSecurityDescriptor",
+ "systemFlags",
+ "defaultHidingValue",
+ "objectCategory",
+ "defaultObjectCategory",
-attrib_attrs = new Array("objectClass", "lDAPDisplayName",
- "isSingleValued", "linkID", "systemFlags", "systemOnly",
- "schemaIDGUID", "adminDisplayName", "attributeID",
- "attributeSyntax", "oMSyntax", "oMObjectClass");
+ /* this attributes are not used by w2k3 */
+ "schemaFlagsEx",
+ "msDs-IntId",
+ "msDs-Schema-Extensions",
+ "classDisplayName",
+ "isDefunct");
+
+attrib_attrs = new Array("objectClass",
+ "attributeID",
+ "attributeSyntax",
+ "isSingleValued",
+ "rangeLower",
+ "rangeUpper",
+ "mAPIID",
+ "linkID",
+ "showInAdvancedViewOnly",
+ "adminDisplayName",
+ "oMObjectClass",
+ "adminDescription",
+ "oMSyntax",
+ "searchFlags",
+ "extendedCharsAllowed",
+ "lDAPDisplayName",
+ "schemaIDGUID",
+ "attributeSecurityGUID",
+ "systemOnly",
+ "systemFlags",
+ "isMemberOfPartialAttributeSet",
+ "objectCategory",
+
+ /* this attributes are not used by w2k3 */
+ "schemaFlagsEx",
+ "msDs-IntId",
+ "msDs-Schema-Extensions",
+ "classDisplayName",
+ "isEphemeral",
+ "isDefunct");
+
/*
notes:
@@ -144,14 +191,14 @@
/*
- fix a string DN to use ${BASEDN}
+ fix a string DN to use ${SCHEMADN}
*/
function fix_dn(dn) {
- var s = strstr(dn, rootDse.defaultNamingContext);
+ var s = strstr(dn, rootDse.schemaNamingContext);
if (s == NULL) {
return dn;
}
- return substr(dn, 0, strlen(dn) - strlen(s)) + "${BASEDN}";
+ return substr(dn, 0, strlen(dn) - strlen(s)) + "${SCHEMADN}";
}
/*
@@ -159,9 +206,7 @@
*/
function write_ldif_one(o, attrs) {
var i;
- printf("dn: CN=%s,CN=Schema,CN=Configuration,${BASEDN}\n", o.cn);
- printf("cn: %s\n", o.cn);
- printf("name: %s\n", o.cn);
+ printf("dn: CN=%s,${SCHEMADN}\n", o.cn);
for (i=0;i<attrs.length;i++) {
var a = attrs[i];
if (o[a] == undefined) {
@@ -616,6 +661,10 @@
if (attrib['isSingleValued'] == "TRUE") {
printf("SINGLE-VALUE ");
}
+ if (attrib['systemOnly'] == "TRUE") {
+ printf("NO-USER-MODIFICATION ");
+ }
+
printf(")\n");
}
@@ -624,13 +673,10 @@
write the aggregate record
*/
function write_aggregate() {
- printf("dn: CN=Aggregate,CN=Schema,CN=Configuration,${BASEDN}\n");
+ printf("dn: CN=Aggregate,${SCHEMADN}\n");
print("objectClass: top
objectClass: subSchema
-cn: Aggregate
-instanceType: 4
-name: Aggregate
-objectCategory: CN=SubSchema,CN=Schema,CN=Configuration,${BASEDN}
+objectCategory: CN=SubSchema,${SCHEMADN}
");
for (i in objectclasses) {
write_aggregate_objectclass(objectclasses[i]);
@@ -679,7 +725,7 @@
num_classes++;
}
/* so EJS do not have while nor the break statement
- can't find any other way than doing more loops
+ cannot find any other way than doing more loops
than necessary to recursively expand all classes
*/
var inf;
More information about the samba-cvs
mailing list