⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ldap.js

📁 samba最新软件
💻 JS
📖 第 1 页 / 共 4 页
字号:
	    if (res.error != 0 || res.msgs.length != 1) {		    println("Could not find (cn=ldaptest2computer) at servicePrincipalName;range=10-40");		    assert(res.error == 0);		    assert(res.msgs.length == 1);	    }	    assert(res.msgs[0]["servicePrincipalName;range=10-*"].length == 20);//	    var pos_11 = res.msgs[0]["servicePrincipalName;range=10-*"][18];	    var attrs = new Array("servicePrincipalName;range=11-40");	    var res = ldb.search("(cn=ldaptest2computer))", base_dn, ldb.SCOPE_SUBTREE, attrs);	    if (res.error != 0 || res.msgs.length != 1) {		    println("Could not find (cn=ldaptest2computer) at servicePrincipalName;range=10-*");		    assert(res.error == 0);		    assert(res.msgs.length == 1);	    }	    assert(res.msgs[0]["servicePrincipalName;range=11-*"].length == 19);//	    println(res.msgs[0]["servicePrincipalName;range=11-*"][18]);//	    println(pos_11);//	    assert((res.msgs[0]["servicePrincipalName;range=11-*"][18]) == pos_11);	    var attrs = new Array("servicePrincipalName;range=11-15");	    var res = ldb.search("(cn=ldaptest2computer))", base_dn, ldb.SCOPE_SUBTREE, attrs);	    if (res.error != 0 || res.msgs.length != 1) {		    println("Could not find (cn=ldaptest2computer) at servicePrincipalName;range=11-15");		    assert(res.error == 0);		    assert(res.msgs.length == 1);	    }	    assert(res.msgs[0]["servicePrincipalName;range=11-15"].length == 5);//	    assert(res.msgs[0]["servicePrincipalName;range=11-15"][4] == pos_11);	    var attrs = new Array("servicePrincipalName");	    var res = ldb.search("(cn=ldaptest2computer))", base_dn, ldb.SCOPE_SUBTREE, attrs);	    if (res.error != 0 || res.msgs.length != 1) {		    println("Could not find (cn=ldaptest2computer) at servicePrincipalName");		    assert(res.error == 0);		    assert(res.msgs.length == 1);	    }//	    println(res.msgs[0]["servicePrincipalName"][18]);//	    println(pos_11);	    assert(res.msgs[0]["servicePrincipalName"].length == 30);//	    assert(res.msgs[0]["servicePrincipalName"][18] == pos_11);	    ok = ldb.add("dn: cn=ldaptestuser2,cn=useRs," + base_dn + "objectClass: personobjectClass: usercn: LDAPtestUSER2givenname: testysn: ldap user2");	if (ok.error != 0) {		ok = ldb.del("cn=ldaptestuser2,cn=users," + base_dn);		if (ok.error != 0) {			println(ok.errstr);			assert(ok.error == 0);		}	        ok = ldb.add("dn: cn=ldaptestuser2,cn=useRs," + base_dn + "objectClass: personobjectClass: usercn: LDAPtestUSER2givenname: testysn: ldap user2");		if (ok.error != 0) {			println(ok.errstr);			assert(ok.error == 0);		}	}	println("Testing Ambigious Name Resolution");// Testing ldb.search for (&(anr=ldap testy)(objectClass=user))	var res = ldb.search("(&(anr=ldap testy)(objectClass=user))");	if (res.error != 0 || res.msgs.length != 3) {		println("Could not find (&(anr=ldap testy)(objectClass=user))");		assert(res.error == 0);		assert(res.msgs.length == 3);	}// Testing ldb.search for (&(anr=testy ldap)(objectClass=user))	var res = ldb.search("(&(anr=testy ldap)(objectClass=user))");	if (res.error != 0 || res.msgs.length != 2) {		println("Found only " + res.msgs.length + " for (&(anr=testy ldap)(objectClass=user))");		assert(res.error == 0);		assert(res.msgs.length == 2);	}	var res = ldb.search("(&(anr=testy ldap)(objectClass=user))");	if (res.error != 0 || res.msgs.length != 2) {		println("Found only " + res.msgs.length + " for (&(anr=\"testy ldap\")(objectClass=user))");		assert(res.error == 0);		assert(res.msgs.length == 2);	}// Testing ldb.search for (&(anr=ldap)(objectClass=user))	var res = ldb.search("(&(anr=ldap)(objectClass=user))");	if (res.error != 0 || res.msgs.length != 4) {		println("Found only " + res.msgs.length + " for (&(anr=ldap)(objectClass=user))");		assert(res.error == 0);		assert(res.msgs.length == 4);	} // Testing ldb.search for (&(anr==ldap)(objectClass=user))	var res = ldb.search("(&(anr==ldap)(objectClass=user))");	if (res.error != 0 || res.msgs.length != 1) {		println("Found only " + res.msgs.length + " for (&(anr=ldap)(objectClass=user))");		println("Could not find (&(anr==ldap)(objectClass=user))");		assert(res.error == 0);		assert(res.msgs.length == 1);	}	assert(res.msgs[0].dn == ("CN=ldaptestuser,CN=Users," + base_dn));	assert(res.msgs[0].cn == "ldaptestuser");	assert(res.msgs[0].name == "ldaptestuser");// Testing ldb.search for (&(anr=testy)(objectClass=user))	var res = ldb.search("(&(anr=testy)(objectClass=user))");	if (res.error != 0 || res.msgs.length != 2) {		println("Found only " + res.msgs.length + " for (&(anr=testy)(objectClass=user))");		assert(res.error == 0);		assert(res.msgs.length == 2);	}// Testing ldb.search for (&(anr=ldap testy)(objectClass=user))	var res = ldb.search("(&(anr=testy ldap)(objectClass=user))");	if (res.error != 0 || res.msgs.length != 2) {		println("Found only " + res.msgs.length + " for (&(anr=ldap testy)(objectClass=user))");		assert(res.error == 0);		assert(res.msgs.length == 2);	}// Testing ldb.search for (&(anr==ldap testy)(objectClass=user))	var res = ldb.search("(&(anr==testy ldap)(objectClass=user))");	if (res.error != 0 || res.msgs.length != 1) {		println("Found only " + res.msgs.length + " for (&(anr==ldap testy)(objectClass=user))");		assert(res.error == 0);		assert(res.msgs.length == 1);	}	assert(res.msgs[0].dn == ("CN=ldaptestuser,CN=Users," + base_dn));	assert(res.msgs[0].cn == "ldaptestuser");	assert(res.msgs[0].name == "ldaptestuser");// Testing ldb.search for (&(anr==testy ldap)(objectClass=user))	var res = ldb.search("(&(anr==testy ldap)(objectClass=user))");	if (res.error != 0 || res.msgs.length != 1) {		println("Could not find (&(anr==testy ldap)(objectClass=user))");		assert(res.error == 0);		assert(res.msgs.length == 1);	}	assert(res.msgs[0].dn == ("CN=ldaptestuser,CN=Users," + base_dn));	assert(res.msgs[0].cn == "ldaptestuser");	assert(res.msgs[0].name == "ldaptestuser");	// Testing ldb.search for (&(anr=testy ldap user)(objectClass=user))	var res = ldb.search("(&(anr=testy ldap user)(objectClass=user))");	if (res.error != 0 || res.msgs.length != 1) {		println("Could not find (&(anr=testy ldap user)(objectClass=user))");		assert(res.error == 0);		assert(res.msgs.length == 1);	}	assert(res.msgs[0].dn == ("CN=ldaptestuser2,CN=Users," + base_dn));	assert(res.msgs[0].cn == "ldaptestuser2");	assert(res.msgs[0].name == "ldaptestuser2");	// Testing ldb.search for (&(anr==testy ldap user2)(objectClass=user))	var res = ldb.search("(&(anr==testy ldap user2)(objectClass=user))");	if (res.error != 0 || res.msgs.length != 1) {		println("Could not find (&(anr==testy ldap user2)(objectClass=user))");		assert(res.error == 0);		assert(res.msgs.length == 1);	}	assert(res.msgs[0].dn == ("CN=ldaptestuser2,CN=Users," + base_dn));	assert(res.msgs[0].cn == "ldaptestuser2");	assert(res.msgs[0].name == "ldaptestuser2");	// Testing ldb.search for (&(anr==ldap user2)(objectClass=user))	var res = ldb.search("(&(anr==ldap user2)(objectClass=user))");	if (res.error != 0 || res.msgs.length != 1) {		println("Could not find (&(anr==ldap user2)(objectClass=user))");		assert(res.error == 0);		assert(res.msgs.length == 1);	}	assert(res.msgs[0].dn == ("CN=ldaptestuser2,CN=Users," + base_dn));	assert(res.msgs[0].cn == "ldaptestuser2");	assert(res.msgs[0].name == "ldaptestuser2");	// Testing ldb.search for (&(anr==not ldap user2)(objectClass=user))	var res = ldb.search("(&(anr==not ldap user2)(objectClass=user))");	if (res.error != 0 || res.msgs.length != 0) {		println("Must not find (&(anr==not ldap user2)(objectClass=user))");		assert(res.error == 0);		assert(res.msgs.length == 0);	}	// Testing ldb.search for (&(anr=not ldap user2)(objectClass=user))	var res = ldb.search("(&(anr=not ldap user2)(objectClass=user))");	if (res.error != 0 || res.msgs.length != 0) {		println("Must not find (&(anr=not ldap user2)(objectClass=user))");		assert(res.error == 0);		assert(res.msgs.length == 0);	}	println("Testing Group Modifies");	ok = ldb.modify("dn: cn=ldaptestgroup,cn=users," + base_dn + "changetype: modifyadd: membermember: cn=ldaptestuser2,cn=users," + base_dn + "member: cn=ldaptestcomputer,cn=computers," + base_dn + "");	if (ok.error != 0) {		println(ok.errstr);		assert(ok.error == 0);	}	ok = ldb.del("cn=ldaptestuser3,cn=users," + base_dn);	println("Testing adding non-existent user to a group");	ok = ldb.modify("dn: cn=ldaptestgroup,cn=users," + base_dn + "changetype: modifyadd: membermember: cn=ldaptestuser3,cn=users," + base_dn + "");	if (ok.error != 32) { /* LDAP_NO_SUCH_OBJECT */		println(ok.errstr);		assert(ok.error == 32);	}	println("Testing Renames");	ok = ldb.rename("cn=ldaptestuser2,cn=users," + base_dn, "cn=ldaptestuser3,cn=users," + base_dn);	if (ok.error != 0) {		println("Could not rename cn=ldaptestuser2,cn=users," + base_dn + " into cn=ldaptestuser3,cn=users," + base_dn + ": " + ok.errstr);		assert(ok.error == 0);	}	ok = ldb.rename("cn=ldaptestuser3,cn=users," + base_dn, "cn=ldaptestuser3,cn=users," + base_dn);	if (ok.error != 0) {		println("Could not rename cn=ldaptestuser3,cn=users," + base_dn + " onto itself: " + ok.errstr);		assert(ok.error == 0);	}	ok = ldb.rename("cn=ldaptestuser3,cn=users," + base_dn, "cn=ldaptestUSER3,cn=users," + base_dn);	if (ok.error != 0) {		println("Could not rename cn=ldaptestuser3,cn=users," + base_dn + " into cn=ldaptestUSER3,cn=users," + base_dn + ": " + ok.errstr);		assert(ok.error == 0);	}	println("Testing ldb.search for (&(cn=ldaptestuser3)(objectClass=user))");	var res = ldb.search("(&(cn=ldaptestuser3)(objectClass=user))");	if (res.error != 0 || res.msgs.length != 1) {		println("Could not find (&(cn=ldaptestuser3)(objectClass=user))");		assert(res.error == 0);		assert(res.msgs.length == 1);	}	assert(res.msgs[0].dn == ("CN=ldaptestUSER3,CN=Users," + base_dn));	assert(res.msgs[0].cn == "ldaptestUSER3");	assert(res.msgs[0].name == "ldaptestUSER3");	println("Testing ldb.search for (&(&(cn=ldaptestuser3)(userAccountControl=*))(objectClass=user))");	var res = ldb.search("(&(&(cn=ldaptestuser3)(userAccountControl=*))(objectClass=user))");	if (res.error != 0 || res.msgs.length != 1) {		println("Could not find (&(cn=ldaptestuser3)(objectClass=user))");		assert(res.error == 0);		assert(res.msgs.length == 1);	}	assert(res.msgs[0].dn == ("CN=ldaptestUSER3,CN=Users," + base_dn));	assert(res.msgs[0].cn == "ldaptestUSER3");	assert(res.msgs[0].name == "ldaptestUSER3");	println("Testing ldb.search for (&(&(cn=ldaptestuser3)(userAccountControl=546))(objectClass=user))");	var res = ldb.search("(&(&(cn=ldaptestuser3)(userAccountControl=546))(objectClass=user))");	if (res.error != 0 || res.msgs.length != 1) {		println("Could not find (&(&(cn=ldaptestuser3)(userAccountControl=546))(objectClass=user))");		assert(res.error == 0);		assert(res.msgs.length == 1);	}	assert(res.msgs[0].dn == ("CN=ldaptestUSER3,CN=Users," + base_dn));	assert(res.msgs[0].cn == "ldaptestUSER3");	assert(res.msgs[0].name == "ldaptestUSER3");	println("Testing ldb.search for (&(&(cn=ldaptestuser3)(userAccountControl=547))(objectClass=user))");	var res = ldb.search("(&(&(cn=ldaptestuser3)(userAccountControl=547))(objectClass=user))");	if (res.error != 0 || res.msgs.length != 0) {		println("Should not find (&(&(cn=ldaptestuser3)(userAccountControl=547))(objectClass=user))");		assert(res.error == 0);		assert(res.msgs.length == 0);	}// This is a Samba special, and does not exist in real AD//	println("Testing ldb.search for (dn=CN=ldaptestUSER3,CN=Users," + base_dn + ")");//	var res = ldb.search("(dn=CN=ldaptestUSER3,CN=Users," + base_dn + ")");//	if (res.error != 0 || res.msgs.length != 1) {//		println("Could not find (dn=CN=ldaptestUSER3,CN=Users," + base_dn + ")");//		assert(res.error == 0);//		assert(res.msgs.length == 1);//	}//	assert(res.msgs[0].dn == ("CN=ldaptestUSER3,CN=Users," + base_dn));//	assert(res.msgs[0].cn == "ldaptestUSER3");//	assert(res.msgs[0].name == "ldaptestUSER3");	println("Testing ldb.search for (distinguishedName=CN=ldaptestUSER3,CN=Users," + base_dn + ")");	var res = ldb.search("(distinguishedName=CN=ldaptestUSER3,CN=Users," + base_dn + ")");	if (res.error != 0 || res.msgs.length != 1) {		println("Could not find (dn=CN=ldaptestUSER3,CN=Users," + base_dn + ")");		assert(res.error == 0);		assert(res.msgs.length == 1);	}	assert(res.msgs[0].dn == ("CN=ldaptestUSER3,CN=Users," + base_dn));	assert(res.msgs[0].cn == "ldaptestUSER3");	assert(res.msgs[0].name == "ldaptestUSER3");	// ensure we cannot add it again	ok = ldb.add("dn: cn=ldaptestuser3,cn=userS," + base_dn + "objectClass: personobjectClass: usercn: LDAPtestUSER3");//LDB_ERR_ENTRY_ALREADY_EXISTS	if (ok.error != 68) {		println("expected error LDB_ERR_ENTRY_ALREADY_EXISTS, got: " + ok.errstr);		assert(ok.error == 68);	}	// rename back	ok = ldb.rename("cn=ldaptestuser3,cn=users," + base_dn, "cn=ldaptestuser2,cn=users," + base_dn);	if (ok.error != 0) {		println(ok.errstr);		assert(ok.error == 0);	}	// ensure we cannnot rename it twice	ok = ldb.rename("cn=ldaptestuser3,cn=users," + base_dn, "cn=ldaptestuser2,cn=users," + base_dn);//LDB_ERR_NO_SUCH_OBJECT	assert(ok.error == 32);	// ensure can now use that name	ok = ldb.add("dn: cn=ldaptestuser3,cn=users," + base_dn + "objectClass: personobjectClass: usercn: LDAPtestUSER3");		// ensure we now cannnot rename	ok = ldb.rename("cn=ldaptestuser2,cn=users," + base_dn, "cn=ldaptestuser3,cn=users," + base_dn);//LDB_ERR_ENTRY_ALREADY_EXISTS	if (ok.error != 68) {		println("expected error LDB_ERR_ENTRY_ALREADY_EXISTS, got: " + ok.errstr);		assert(ok.error == 68);	}	assert(ok.error == 68);	ok = ldb.rename("cn=ldaptestuser3,cn=users," + base_dn, "cn=ldaptestuser3,cn=configuration," + base_dn);	if (ok.error != 71 && ok.error != 64) {		println("expected error LDB_ERR_ENTRY_ALREADY_EXISTS or LDAP_NAMING_VIOLATION, got: " + ok.errstr);		assert(ok.error == 71 || ok.error == 64);	}	assert(ok.error == 71 || ok.error == 64);	ok = ldb.rename("cn=ldaptestuser3,cn=users," + base_dn, "cn=ldaptestuser5,cn=users," + base_dn);	if (ok.error != 0) {		println(ok.errstr);		assert(ok.error == 0);	}	ok = ldb.del("cn=ldaptestuser5,cn=users," + base_dn);	ok = ldb.del("cn=ldaptestgroup2,cn=users," + base_dn);	ok = ldb.rename("cn=ldaptestgroup,cn=users," + base_dn, "cn=ldaptestgroup2,cn=users," + base_dn);	if (ok.error != 0) {		println(ok.errstr);		assert(ok.error == 0);	}	println("Testing subtree Renames");	ok = ldb.add("dn: cn=ldaptestcontainer," + base_dn + "objectClass: container");		ok = ldb.add("dn: CN=ldaptestuser4,CN=ldaptestcontainer," + base_dn + "objectClass: personobjectClass: usercn: LDAPtestUSER4");

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -