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