*/
function ldb_erase(ldb)
{
- var attrs = new Array("namingContexts");
var res;
- /* delete within each naming context - this copes with existing partitions */
- res = ldb.search("objectClass=*", "", ldb.SCOPE_BASE, attrs);
- if (typeof(res) != "undefined") {
- if (res.length > 0) {
- var names = res[0].namingContexts;
- for (i=0;i<names.length;i++) {
- attrs = new Array("dn");
- res = ldb.search("(objectclass=*)", names[i], ldb.SCOPE_SUBTREE, attrs);
- var j;
- for (j=0;j<res.length;j++) {
- ldb.del(res[j].dn);
- }
- }
- }
- }
-
/* delete the specials */
ldb.del("@INDEXLIST");
ldb.del("@ATTRIBUTES");
setup_add_ldif("provision.ldif", info, samdb, false);
if (blank != false) {
+ message("Setting up sam.ldb index\n");
+ setup_add_ldif("provision_index.ldif", info, samdb, false);
+
var commit_ok = samdb.transaction_commit();
if (!commit_ok) {
info.message("ldb commit failed: " + samdb.errstring() + "\n");
return false;
}
+ message("Setting up sam.ldb index\n");
+ setup_add_ldif("provision_index.ldif", info, samdb, false);
+
var commit_ok = samdb.transaction_commit();
if (!commit_ok) {
info.message("samdb commit failed: " + samdb.errstring() + "\n");
-dn: @INDEXLIST
-@IDXATTR: name
-@IDXATTR: sAMAccountName
-@IDXATTR: objectSid
-@IDXATTR: objectCategory
-@IDXATTR: member
-@IDXATTR: uidNumber
-@IDXATTR: gidNumber
-@IDXATTR: unixName
-@IDXATTR: privilege
-@IDXATTR: nCName
-@IDXATTR: lDAPDisplayName
-@IDXATTR: subClassOf
-@IDXATTR: dnsRoot
-@IDXATTR: nETBIOSName
-
dn: @ATTRIBUTES
userPrincipalName: CASE_INSENSITIVE
servicePrincipalName: CASE_INSENSITIVE