from ldb import FLAG_MOD_ADD, FLAG_MOD_REPLACE, FLAG_MOD_DELETE
from samba.samdb import SamDB
from samba.dsdb import (UF_NORMAL_ACCOUNT, UF_ACCOUNTDISABLE,
- UF_WORKSTATION_TRUST_ACCOUNT, UF_SERVER_TRUST_ACCOUNT,
- UF_PARTIAL_SECRETS_ACCOUNT, UF_TEMP_DUPLICATE_ACCOUNT,
- UF_INTERDOMAIN_TRUST_ACCOUNT, UF_SMARTCARD_REQUIRED,
- UF_PASSWD_NOTREQD, UF_LOCKOUT, UF_PASSWORD_EXPIRED, ATYPE_NORMAL_ACCOUNT,
- GTYPE_SECURITY_BUILTIN_LOCAL_GROUP, GTYPE_SECURITY_DOMAIN_LOCAL_GROUP,
- GTYPE_SECURITY_GLOBAL_GROUP, GTYPE_SECURITY_UNIVERSAL_GROUP,
- GTYPE_DISTRIBUTION_DOMAIN_LOCAL_GROUP, GTYPE_DISTRIBUTION_GLOBAL_GROUP,
- GTYPE_DISTRIBUTION_UNIVERSAL_GROUP,
- ATYPE_SECURITY_GLOBAL_GROUP, ATYPE_SECURITY_UNIVERSAL_GROUP,
- ATYPE_SECURITY_LOCAL_GROUP, ATYPE_DISTRIBUTION_GLOBAL_GROUP,
- ATYPE_DISTRIBUTION_UNIVERSAL_GROUP, ATYPE_DISTRIBUTION_LOCAL_GROUP,
- ATYPE_WORKSTATION_TRUST)
+ UF_WORKSTATION_TRUST_ACCOUNT, UF_SERVER_TRUST_ACCOUNT,
+ UF_PARTIAL_SECRETS_ACCOUNT, UF_TEMP_DUPLICATE_ACCOUNT,
+ UF_INTERDOMAIN_TRUST_ACCOUNT, UF_SMARTCARD_REQUIRED,
+ UF_PASSWD_NOTREQD, UF_LOCKOUT, UF_PASSWORD_EXPIRED, ATYPE_NORMAL_ACCOUNT,
+ GTYPE_SECURITY_BUILTIN_LOCAL_GROUP, GTYPE_SECURITY_DOMAIN_LOCAL_GROUP,
+ GTYPE_SECURITY_GLOBAL_GROUP, GTYPE_SECURITY_UNIVERSAL_GROUP,
+ GTYPE_DISTRIBUTION_DOMAIN_LOCAL_GROUP, GTYPE_DISTRIBUTION_GLOBAL_GROUP,
+ GTYPE_DISTRIBUTION_UNIVERSAL_GROUP,
+ ATYPE_SECURITY_GLOBAL_GROUP, ATYPE_SECURITY_UNIVERSAL_GROUP,
+ ATYPE_SECURITY_LOCAL_GROUP, ATYPE_DISTRIBUTION_GLOBAL_GROUP,
+ ATYPE_DISTRIBUTION_UNIVERSAL_GROUP, ATYPE_DISTRIBUTION_LOCAL_GROUP,
+ ATYPE_WORKSTATION_TRUST)
from samba.dcerpc.security import (DOMAIN_RID_USERS, DOMAIN_RID_ADMINS,
- DOMAIN_RID_DOMAIN_MEMBERS, DOMAIN_RID_DCS, DOMAIN_RID_READONLY_DCS)
+ DOMAIN_RID_DOMAIN_MEMBERS, DOMAIN_RID_DCS, DOMAIN_RID_READONLY_DCS)
from samba.ndr import ndr_unpack
from samba.dcerpc import drsblobs
scope=SCOPE_BASE, attrs=["objectSID"])
self.assertTrue(len(res1) == 1)
group_rid_1 = security.dom_sid(ldb.schema_format_value("objectSID",
- res1[0]["objectSID"][0])).split()[1]
+ res1[0]["objectSID"][0])).split()[1]
res1 = ldb.search("cn=ldaptestgroup2,cn=users," + self.base_dn,
scope=SCOPE_BASE, attrs=["objectSID"])
self.assertTrue(len(res1) == 1)
group_rid_2 = security.dom_sid(ldb.schema_format_value("objectSID",
- res1[0]["objectSID"][0])).split()[1]
+ res1[0]["objectSID"][0])).split()[1]
# Try to create a user with an invalid account name
try:
m = Message()
m.dn = Dn(ldb, "cn=ldaptestuser,cn=users," + self.base_dn)
m["primaryGroupID"] = MessageElement("0", FLAG_MOD_REPLACE,
- "primaryGroupID")
+ "primaryGroupID")
try:
ldb.modify(m)
self.fail()
m = Message()
m.dn = Dn(ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
m["primaryGroupID"] = MessageElement("0", FLAG_MOD_REPLACE,
- "primaryGroupID")
+ "primaryGroupID")
try:
ldb.modify(m)
self.fail()
m = Message()
m.dn = Dn(ldb, "cn=ldaptestuser,cn=users," + self.base_dn)
m["userAccountControl"] = MessageElement(str(UF_NORMAL_ACCOUNT | UF_PASSWD_NOTREQD), FLAG_MOD_REPLACE,
- "userAccountControl")
+ "userAccountControl")
ldb.modify(m)
res1 = ldb.search("cn=ldaptestuser,cn=users," + self.base_dn,
m = Message()
m.dn = Dn(ldb, "cn=ldaptestuser,cn=users," + self.base_dn)
m["userAccountControl"] = MessageElement(str(UF_WORKSTATION_TRUST_ACCOUNT | UF_PASSWD_NOTREQD), FLAG_MOD_REPLACE,
- "userAccountControl")
+ "userAccountControl")
ldb.modify(m)
res1 = ldb.search("cn=ldaptestuser,cn=users," + self.base_dn,
m = Message()
m.dn = Dn(ldb, "cn=ldaptestuser,cn=users," + self.base_dn)
m["userAccountControl"] = MessageElement(str(UF_SERVER_TRUST_ACCOUNT | UF_PASSWD_NOTREQD), FLAG_MOD_REPLACE,
- "userAccountControl")
+ "userAccountControl")
ldb.modify(m)
res1 = ldb.search("cn=ldaptestuser,cn=users," + self.base_dn,
m = Message()
m.dn = Dn(ldb, "cn=ldaptestuser,cn=users," + self.base_dn)
m["userAccountControl"] = MessageElement(str(UF_PARTIAL_SECRETS_ACCOUNT | UF_WORKSTATION_TRUST_ACCOUNT | UF_PASSWD_NOTREQD), FLAG_MOD_REPLACE,
- "userAccountControl")
+ "userAccountControl")
ldb.modify(m)
res1 = ldb.search("cn=ldaptestuser,cn=users," + self.base_dn,
m = Message()
m.dn = Dn(ldb, "cn=ldaptestuser,cn=users," + self.base_dn)
m["sAMAccountName"] = MessageElement("administrator", FLAG_MOD_REPLACE,
- "sAMAccountName")
+ "sAMAccountName")
try:
ldb.modify(m)
self.fail()
m = Message()
m.dn = Dn(ldb, "cn=ldaptestuser,cn=users," + self.base_dn)
m["sAMAccountName"] = MessageElement(res1[0]["sAMAccountName"][0], FLAG_MOD_REPLACE,
- "sAMAccountName")
+ "sAMAccountName")
ldb.modify(m)
# And another (free) name should be possible as well
m = Message()
m.dn = Dn(ldb, "cn=ldaptestuser,cn=users," + self.base_dn)
m["sAMAccountName"] = MessageElement("xxx_ldaptestuser_xxx", FLAG_MOD_REPLACE,
- "sAMAccountName")
+ "sAMAccountName")
ldb.modify(m)
# We should be able to reset our actual primary group
m = Message()
m.dn = Dn(ldb, "cn=ldaptestuser,cn=users," + self.base_dn)
m["primaryGroupID"] = MessageElement(str(DOMAIN_RID_USERS), FLAG_MOD_REPLACE,
- "primaryGroupID")
+ "primaryGroupID")
ldb.modify(m)
# Try to add invalid primary group
m = Message()
m.dn = Dn(ldb, "cn=ldaptestuser,cn=users," + self.base_dn)
m["primaryGroupID"] = MessageElement("0", FLAG_MOD_REPLACE,
- "primaryGroupID")
+ "primaryGroupID")
try:
ldb.modify(m)
self.fail()
m = Message()
m.dn = Dn(ldb, "cn=ldaptestuser,cn=users," + self.base_dn)
m["primaryGroupID"] = MessageElement(str(group_rid_1),
- FLAG_MOD_REPLACE, "primaryGroupID")
+ FLAG_MOD_REPLACE, "primaryGroupID")
try:
ldb.modify(m)
self.fail()
m = Message()
m.dn = Dn(ldb, "cn=ldaptestuser,cn=users," + self.base_dn)
m["primaryGroupID"] = MessageElement(str(group_rid_1),
- FLAG_MOD_REPLACE, "primaryGroupID")
+ FLAG_MOD_REPLACE, "primaryGroupID")
ldb.modify(m)
# Try to delete group 1 - should be denied
m = Message()
m.dn = Dn(ldb, "cn=ldaptestuser,cn=users," + self.base_dn)
m["primaryGroupID"] = MessageElement(str(group_rid_2),
- FLAG_MOD_REPLACE, "primaryGroupID")
+ FLAG_MOD_REPLACE, "primaryGroupID")
ldb.modify(m)
# Swap the groups (does not really make sense but does the same)
m = Message()
m.dn = Dn(ldb, "cn=ldaptestuser,cn=users," + self.base_dn)
m["primaryGroupID"] = MessageElement(str(group_rid_1),
- FLAG_MOD_REPLACE, "primaryGroupID")
+ FLAG_MOD_REPLACE, "primaryGroupID")
m["primaryGroupID"] = MessageElement(str(group_rid_2),
- FLAG_MOD_REPLACE, "primaryGroupID")
+ FLAG_MOD_REPLACE, "primaryGroupID")
ldb.modify(m)
# Old primary group should contain a "member" attribute for the user,
self.assertTrue(len(res1) == 1)
self.assertTrue(len(res1[0]["member"]) == 1)
self.assertEquals(res1[0]["member"][0].lower(),
- ("cn=ldaptestuser,cn=users," + self.base_dn).lower())
+ ("cn=ldaptestuser,cn=users," + self.base_dn).lower())
res1 = ldb.search("cn=ldaptestgroup2, cn=users," + self.base_dn,
scope=SCOPE_BASE, attrs=["member"])
m = Message()
m.dn = Dn(ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
m["groupType"] = MessageElement(str(GTYPE_SECURITY_GLOBAL_GROUP), FLAG_MOD_ADD,
- "groupType")
+ "groupType")
try:
ldb.modify(m)
self.fail()
m = Message()
m.dn = Dn(ldb, "cn=ldaptestuser,cn=users," + self.base_dn)
m["primaryGroupID"] = MessageElement("513", FLAG_MOD_ADD,
- "primaryGroupID")
+ "primaryGroupID")
try:
ldb.modify(m)
self.fail()
m = Message()
m.dn = Dn(ldb, "cn=ldaptestuser,cn=users," + self.base_dn)
m["userAccountControl"] = MessageElement(str(UF_NORMAL_ACCOUNT | UF_PASSWD_NOTREQD), FLAG_MOD_ADD,
- "userAccountControl")
+ "userAccountControl")
try:
ldb.modify(m)
self.fail()
m = Message()
m.dn = Dn(ldb, "cn=ldaptestuser,cn=users," + self.base_dn)
m["objectSid"] = MessageElement("xxxxxxxxxxxxxxxx", FLAG_MOD_ADD,
- "objectSid")
+ "objectSid")
try:
ldb.modify(m)
self.fail()
m = Message()
m.dn = Dn(ldb, "cn=ldaptestuser,cn=users," + self.base_dn)
m["sAMAccountType"] = MessageElement("0", FLAG_MOD_ADD,
- "sAMAccountType")
+ "sAMAccountType")
try:
ldb.modify(m)
self.fail()
m = Message()
m.dn = Dn(ldb, "cn=ldaptestuser,cn=users," + self.base_dn)
m["sAMAccountName"] = MessageElement("test", FLAG_MOD_ADD,
- "sAMAccountName")
+ "sAMAccountName")
try:
ldb.modify(m)
self.fail()
scope=SCOPE_BASE, attrs=["sAMAccountType"])
self.assertTrue(len(res1) == 1)
self.assertEquals(int(res1[0]["sAMAccountType"][0]),
- ATYPE_SECURITY_GLOBAL_GROUP)
+ ATYPE_SECURITY_GLOBAL_GROUP)
delete_force(self.ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
ldb.add({
scope=SCOPE_BASE, attrs=["sAMAccountType"])
self.assertTrue(len(res1) == 1)
self.assertEquals(int(res1[0]["sAMAccountType"][0]),
- ATYPE_SECURITY_UNIVERSAL_GROUP)
+ ATYPE_SECURITY_UNIVERSAL_GROUP)
delete_force(self.ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
ldb.add({
scope=SCOPE_BASE, attrs=["sAMAccountType"])
self.assertTrue(len(res1) == 1)
self.assertEquals(int(res1[0]["sAMAccountType"][0]),
- ATYPE_SECURITY_LOCAL_GROUP)
+ ATYPE_SECURITY_LOCAL_GROUP)
delete_force(self.ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
ldb.add({
scope=SCOPE_BASE, attrs=["sAMAccountType"])
self.assertTrue(len(res1) == 1)
self.assertEquals(int(res1[0]["sAMAccountType"][0]),
- ATYPE_DISTRIBUTION_GLOBAL_GROUP)
+ ATYPE_DISTRIBUTION_GLOBAL_GROUP)
delete_force(self.ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
ldb.add({
scope=SCOPE_BASE, attrs=["sAMAccountType"])
self.assertTrue(len(res1) == 1)
self.assertEquals(int(res1[0]["sAMAccountType"][0]),
- ATYPE_DISTRIBUTION_UNIVERSAL_GROUP)
+ ATYPE_DISTRIBUTION_UNIVERSAL_GROUP)
delete_force(self.ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
ldb.add({
scope=SCOPE_BASE, attrs=["sAMAccountType"])
self.assertTrue(len(res1) == 1)
self.assertEquals(int(res1[0]["sAMAccountType"][0]),
- ATYPE_DISTRIBUTION_LOCAL_GROUP)
+ ATYPE_DISTRIBUTION_LOCAL_GROUP)
delete_force(self.ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
# Modify operation
scope=SCOPE_BASE, attrs=["sAMAccountType"])
self.assertTrue(len(res1) == 1)
self.assertEquals(int(res1[0]["sAMAccountType"][0]),
- ATYPE_SECURITY_GLOBAL_GROUP)
+ ATYPE_SECURITY_GLOBAL_GROUP)
# Invalid attribute
try:
m = Message()
m.dn = Dn(ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
m["groupType"] = MessageElement("0",
- FLAG_MOD_REPLACE, "groupType")
+ FLAG_MOD_REPLACE, "groupType")
ldb.modify(m)
self.fail()
except LdbError as e39:
scope=SCOPE_BASE, attrs=["sAMAccountType"])
self.assertTrue(len(res1) == 1)
self.assertEquals(int(res1[0]["sAMAccountType"][0]),
- ATYPE_SECURITY_GLOBAL_GROUP)
+ ATYPE_SECURITY_GLOBAL_GROUP)
# Change to "local" (shouldn't work)
scope=SCOPE_BASE, attrs=["sAMAccountType"])
self.assertTrue(len(res1) == 1)
self.assertEquals(int(res1[0]["sAMAccountType"][0]),
- ATYPE_SECURITY_UNIVERSAL_GROUP)
+ ATYPE_SECURITY_UNIVERSAL_GROUP)
# Change back to "global"
scope=SCOPE_BASE, attrs=["sAMAccountType"])
self.assertTrue(len(res1) == 1)
self.assertEquals(int(res1[0]["sAMAccountType"][0]),
- ATYPE_SECURITY_GLOBAL_GROUP)
+ ATYPE_SECURITY_GLOBAL_GROUP)
# Change back to "universal"
scope=SCOPE_BASE, attrs=["sAMAccountType"])
self.assertTrue(len(res1) == 1)
self.assertEquals(int(res1[0]["sAMAccountType"][0]),
- ATYPE_SECURITY_UNIVERSAL_GROUP)
+ ATYPE_SECURITY_UNIVERSAL_GROUP)
# Change to "local"
scope=SCOPE_BASE, attrs=["sAMAccountType"])
self.assertTrue(len(res1) == 1)
self.assertEquals(int(res1[0]["sAMAccountType"][0]),
- ATYPE_SECURITY_LOCAL_GROUP)
+ ATYPE_SECURITY_LOCAL_GROUP)
# Change to "global" (shouldn't work)
scope=SCOPE_BASE, attrs=["sAMAccountType"])
self.assertTrue(len(res1) == 1)
self.assertEquals(int(res1[0]["sAMAccountType"][0]),
- ATYPE_SECURITY_UNIVERSAL_GROUP)
+ ATYPE_SECURITY_UNIVERSAL_GROUP)
# Change to "builtin local" (shouldn't work)
scope=SCOPE_BASE, attrs=["sAMAccountType"])
self.assertTrue(len(res1) == 1)
self.assertEquals(int(res1[0]["sAMAccountType"][0]),
- ATYPE_SECURITY_GLOBAL_GROUP)
+ ATYPE_SECURITY_GLOBAL_GROUP)
# Change to "builtin local" (shouldn't work)
scope=SCOPE_BASE, attrs=["sAMAccountType"])
self.assertTrue(len(res1) == 1)
self.assertEquals(int(res1[0]["sAMAccountType"][0]),
- ATYPE_DISTRIBUTION_GLOBAL_GROUP)
+ ATYPE_DISTRIBUTION_GLOBAL_GROUP)
# Change to local (shouldn't work)
scope=SCOPE_BASE, attrs=["sAMAccountType"])
self.assertTrue(len(res1) == 1)
self.assertEquals(int(res1[0]["sAMAccountType"][0]),
- ATYPE_DISTRIBUTION_UNIVERSAL_GROUP)
+ ATYPE_DISTRIBUTION_UNIVERSAL_GROUP)
# Change back to "global"
scope=SCOPE_BASE, attrs=["sAMAccountType"])
self.assertTrue(len(res1) == 1)
self.assertEquals(int(res1[0]["sAMAccountType"][0]),
- ATYPE_DISTRIBUTION_GLOBAL_GROUP)
+ ATYPE_DISTRIBUTION_GLOBAL_GROUP)
# Change back to "universal"
scope=SCOPE_BASE, attrs=["sAMAccountType"])
self.assertTrue(len(res1) == 1)
self.assertEquals(int(res1[0]["sAMAccountType"][0]),
- ATYPE_DISTRIBUTION_UNIVERSAL_GROUP)
+ ATYPE_DISTRIBUTION_UNIVERSAL_GROUP)
# Change to "local"
scope=SCOPE_BASE, attrs=["sAMAccountType"])
self.assertTrue(len(res1) == 1)
self.assertEquals(int(res1[0]["sAMAccountType"][0]),
- ATYPE_DISTRIBUTION_LOCAL_GROUP)
+ ATYPE_DISTRIBUTION_LOCAL_GROUP)
# Change to "global" (shouldn't work)
scope=SCOPE_BASE, attrs=["sAMAccountType"])
self.assertTrue(len(res1) == 1)
self.assertEquals(int(res1[0]["sAMAccountType"][0]),
- ATYPE_DISTRIBUTION_UNIVERSAL_GROUP)
+ ATYPE_DISTRIBUTION_UNIVERSAL_GROUP)
# Change back to "global"
scope=SCOPE_BASE, attrs=["sAMAccountType"])
self.assertTrue(len(res1) == 1)
self.assertEquals(int(res1[0]["sAMAccountType"][0]),
- ATYPE_DISTRIBUTION_GLOBAL_GROUP)
+ ATYPE_DISTRIBUTION_GLOBAL_GROUP)
# Both group types: this performs only random checks - all possibilities
# would require too much code.
scope=SCOPE_BASE, attrs=["sAMAccountType"])
self.assertTrue(len(res1) == 1)
self.assertEquals(int(res1[0]["sAMAccountType"][0]),
- ATYPE_SECURITY_GLOBAL_GROUP)
+ ATYPE_SECURITY_GLOBAL_GROUP)
# Change to "local" (shouldn't work)
scope=SCOPE_BASE, attrs=["sAMAccountType"])
self.assertTrue(len(res1) == 1)
self.assertEquals(int(res1[0]["sAMAccountType"][0]),
- ATYPE_DISTRIBUTION_UNIVERSAL_GROUP)
+ ATYPE_DISTRIBUTION_UNIVERSAL_GROUP)
# Change back to "global"
scope=SCOPE_BASE, attrs=["sAMAccountType"])
self.assertTrue(len(res1) == 1)
self.assertEquals(int(res1[0]["sAMAccountType"][0]),
- ATYPE_SECURITY_GLOBAL_GROUP)
+ ATYPE_SECURITY_GLOBAL_GROUP)
# Change back to "universal"
scope=SCOPE_BASE, attrs=["sAMAccountType"])
self.assertTrue(len(res1) == 1)
self.assertEquals(int(res1[0]["sAMAccountType"][0]),
- ATYPE_SECURITY_UNIVERSAL_GROUP)
+ ATYPE_SECURITY_UNIVERSAL_GROUP)
# Change to "local"
scope=SCOPE_BASE, attrs=["sAMAccountType"])
self.assertTrue(len(res1) == 1)
self.assertEquals(int(res1[0]["sAMAccountType"][0]),
- ATYPE_DISTRIBUTION_LOCAL_GROUP)
+ ATYPE_DISTRIBUTION_LOCAL_GROUP)
# Change to "global" (shouldn't work)
scope=SCOPE_BASE, attrs=["sAMAccountType"])
self.assertTrue(len(res1) == 1)
self.assertEquals(int(res1[0]["sAMAccountType"][0]),
- ATYPE_SECURITY_UNIVERSAL_GROUP)
+ ATYPE_SECURITY_UNIVERSAL_GROUP)
# Change back to "global"
scope=SCOPE_BASE, attrs=["sAMAccountType"])
self.assertTrue(len(res1) == 1)
self.assertEquals(int(res1[0]["sAMAccountType"][0]),
- ATYPE_SECURITY_GLOBAL_GROUP)
+ ATYPE_SECURITY_GLOBAL_GROUP)
delete_force(self.ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
attrs=["sAMAccountType", "userAccountControl"])
self.assertTrue(len(res1) == 1)
self.assertEquals(int(res1[0]["sAMAccountType"][0]),
- ATYPE_NORMAL_ACCOUNT)
+ ATYPE_NORMAL_ACCOUNT)
self.assertTrue(int(res1[0]["userAccountControl"][0]) & UF_ACCOUNTDISABLE == 0)
self.assertTrue(int(res1[0]["userAccountControl"][0]) & UF_PASSWD_NOTREQD == 0)
delete_force(self.ldb, "cn=ldaptestuser,cn=users," + self.base_dn)
attrs=["sAMAccountType", "userAccountControl"])
self.assertTrue(len(res1) == 1)
self.assertEquals(int(res1[0]["sAMAccountType"][0]),
- ATYPE_NORMAL_ACCOUNT)
+ ATYPE_NORMAL_ACCOUNT)
self.assertTrue(int(res1[0]["userAccountControl"][0]) & UF_ACCOUNTDISABLE == 0)
delete_force(self.ldb, "cn=ldaptestuser,cn=users," + self.base_dn)
attrs=["sAMAccountType", "userAccountControl", "lockoutTime", "pwdLastSet"])
self.assertTrue(len(res1) == 1)
self.assertEquals(int(res1[0]["sAMAccountType"][0]),
- ATYPE_NORMAL_ACCOUNT)
+ ATYPE_NORMAL_ACCOUNT)
self.assertTrue(int(res1[0]["userAccountControl"][0]) & (UF_LOCKOUT | UF_PASSWORD_EXPIRED) == 0)
self.assertFalse("lockoutTime" in res1[0])
self.assertTrue(int(res1[0]["pwdLastSet"][0]) == 0)
attrs=["sAMAccountType", "userAccountControl"])
self.assertTrue(len(res1) == 1)
self.assertEquals(int(res1[0]["sAMAccountType"][0]),
- ATYPE_NORMAL_ACCOUNT)
+ ATYPE_NORMAL_ACCOUNT)
self.assertTrue(int(res1[0]["userAccountControl"][0]) & UF_ACCOUNTDISABLE != 0)
# As user you can only switch from a normal account to a workstation
m = Message()
m.dn = Dn(ldb, "cn=ldaptestuser,cn=users," + self.base_dn)
m["userAccountControl"] = MessageElement("0",
- FLAG_MOD_REPLACE, "userAccountControl")
+ FLAG_MOD_REPLACE, "userAccountControl")
ldb.modify(m)
except LdbError as e64:
(num, _) = e64.args
attrs=["sAMAccountType", "userAccountControl"])
self.assertTrue(len(res1) == 1)
self.assertEquals(int(res1[0]["sAMAccountType"][0]),
- ATYPE_NORMAL_ACCOUNT)
+ ATYPE_NORMAL_ACCOUNT)
self.assertTrue(int(res1[0]["userAccountControl"][0]) & UF_ACCOUNTDISABLE == 0)
m = Message()
attrs=["sAMAccountType", "userAccountControl"])
self.assertTrue(len(res1) == 1)
self.assertEquals(int(res1[0]["sAMAccountType"][0]),
- ATYPE_NORMAL_ACCOUNT)
+ ATYPE_NORMAL_ACCOUNT)
self.assertTrue(int(res1[0]["userAccountControl"][0]) & UF_NORMAL_ACCOUNT != 0)
self.assertTrue(int(res1[0]["userAccountControl"][0]) & UF_ACCOUNTDISABLE != 0)
attrs=["sAMAccountType", "userAccountControl", "lockoutTime", "pwdLastSet"])
self.assertTrue(len(res1) == 1)
self.assertEquals(int(res1[0]["sAMAccountType"][0]),
- ATYPE_NORMAL_ACCOUNT)
+ ATYPE_NORMAL_ACCOUNT)
self.assertTrue(int(res1[0]["userAccountControl"][0]) & UF_NORMAL_ACCOUNT != 0)
self.assertTrue(int(res1[0]["userAccountControl"][0]) & (UF_LOCKOUT | UF_PASSWORD_EXPIRED) == 0)
self.assertTrue(int(res1[0]["lockoutTime"][0]) == 0)
scope=SCOPE_BASE, attrs=["sAMAccountType"])
self.assertTrue(len(res1) == 1)
self.assertEquals(int(res1[0]["sAMAccountType"][0]),
- ATYPE_WORKSTATION_TRUST)
+ ATYPE_WORKSTATION_TRUST)
m = Message()
m.dn = Dn(ldb, "cn=ldaptestuser,cn=users," + self.base_dn)
scope=SCOPE_BASE, attrs=["sAMAccountType"])
self.assertTrue(len(res1) == 1)
self.assertEquals(int(res1[0]["sAMAccountType"][0]),
- ATYPE_NORMAL_ACCOUNT)
+ ATYPE_NORMAL_ACCOUNT)
try:
m = Message()
attrs=["sAMAccountType", "userAccountControl"])
self.assertTrue(len(res1) == 1)
self.assertEquals(int(res1[0]["sAMAccountType"][0]),
- ATYPE_NORMAL_ACCOUNT)
+ ATYPE_NORMAL_ACCOUNT)
self.assertTrue(int(res1[0]["userAccountControl"][0]) & UF_ACCOUNTDISABLE == 0)
self.assertTrue(int(res1[0]["userAccountControl"][0]) & UF_PASSWD_NOTREQD == 0)
delete_force(self.ldb, "cn=ldaptestcomputer,cn=computers," + self.base_dn)
attrs=["sAMAccountType", "userAccountControl"])
self.assertTrue(len(res1) == 1)
self.assertEquals(int(res1[0]["sAMAccountType"][0]),
- ATYPE_NORMAL_ACCOUNT)
+ ATYPE_NORMAL_ACCOUNT)
self.assertTrue(int(res1[0]["userAccountControl"][0]) & UF_ACCOUNTDISABLE == 0)
delete_force(self.ldb, "cn=ldaptestcomputer,cn=computers," + self.base_dn)
attrs=["sAMAccountType", "userAccountControl", "lockoutTime", "pwdLastSet"])
self.assertTrue(len(res1) == 1)
self.assertEquals(int(res1[0]["sAMAccountType"][0]),
- ATYPE_NORMAL_ACCOUNT)
+ ATYPE_NORMAL_ACCOUNT)
self.assertTrue(int(res1[0]["userAccountControl"][0]) & (UF_LOCKOUT | UF_PASSWORD_EXPIRED) == 0)
self.assertFalse("lockoutTime" in res1[0])
self.assertTrue(int(res1[0]["pwdLastSet"][0]) == 0)
scope=SCOPE_BASE, attrs=["sAMAccountType"])
self.assertTrue(len(res1) == 1)
self.assertEquals(int(res1[0]["sAMAccountType"][0]),
- ATYPE_WORKSTATION_TRUST)
+ ATYPE_WORKSTATION_TRUST)
delete_force(self.ldb, "cn=ldaptestcomputer,cn=computers," + self.base_dn)
try:
attrs=["sAMAccountType", "userAccountControl"])
self.assertTrue(len(res1) == 1)
self.assertEquals(int(res1[0]["sAMAccountType"][0]),
- ATYPE_NORMAL_ACCOUNT)
+ ATYPE_NORMAL_ACCOUNT)
self.assertTrue(int(res1[0]["userAccountControl"][0]) & UF_ACCOUNTDISABLE != 0)
# As computer you can switch from a normal account to a workstation
m = Message()
m.dn = Dn(ldb, "cn=ldaptestcomputer,cn=computers," + self.base_dn)
m["userAccountControl"] = MessageElement("0",
- FLAG_MOD_REPLACE, "userAccountControl")
+ FLAG_MOD_REPLACE, "userAccountControl")
ldb.modify(m)
except LdbError as e73:
(num, _) = e73.args
attrs=["sAMAccountType", "userAccountControl"])
self.assertTrue(len(res1) == 1)
self.assertEquals(int(res1[0]["sAMAccountType"][0]),
- ATYPE_NORMAL_ACCOUNT)
+ ATYPE_NORMAL_ACCOUNT)
self.assertTrue(int(res1[0]["userAccountControl"][0]) & UF_ACCOUNTDISABLE == 0)
m = Message()
attrs=["sAMAccountType", "userAccountControl"])
self.assertTrue(len(res1) == 1)
self.assertEquals(int(res1[0]["sAMAccountType"][0]),
- ATYPE_NORMAL_ACCOUNT)
+ ATYPE_NORMAL_ACCOUNT)
self.assertTrue(int(res1[0]["userAccountControl"][0]) & UF_NORMAL_ACCOUNT != 0)
self.assertTrue(int(res1[0]["userAccountControl"][0]) & UF_ACCOUNTDISABLE != 0)
attrs=["sAMAccountType", "userAccountControl", "lockoutTime", "pwdLastSet"])
self.assertTrue(len(res1) == 1)
self.assertEquals(int(res1[0]["sAMAccountType"][0]),
- ATYPE_NORMAL_ACCOUNT)
+ ATYPE_NORMAL_ACCOUNT)
self.assertTrue(int(res1[0]["userAccountControl"][0]) & UF_NORMAL_ACCOUNT != 0)
self.assertTrue(int(res1[0]["userAccountControl"][0]) & (UF_LOCKOUT | UF_PASSWORD_EXPIRED) == 0)
self.assertTrue(int(res1[0]["lockoutTime"][0]) == 0)
scope=SCOPE_BASE, attrs=["sAMAccountType"])
self.assertTrue(len(res1) == 1)
self.assertEquals(int(res1[0]["sAMAccountType"][0]),
- ATYPE_WORKSTATION_TRUST)
+ ATYPE_WORKSTATION_TRUST)
m = Message()
m.dn = Dn(ldb, "cn=ldaptestcomputer,cn=computers," + self.base_dn)
scope=SCOPE_BASE, attrs=["sAMAccountType"])
self.assertTrue(len(res1) == 1)
self.assertEquals(int(res1[0]["sAMAccountType"][0]),
- ATYPE_NORMAL_ACCOUNT)
+ ATYPE_NORMAL_ACCOUNT)
m = Message()
m.dn = Dn(ldb, "cn=ldaptestcomputer,cn=computers," + self.base_dn)
scope=SCOPE_BASE, attrs=["sAMAccountType"])
self.assertTrue(len(res1) == 1)
self.assertEquals(int(res1[0]["sAMAccountType"][0]),
- ATYPE_WORKSTATION_TRUST)
+ ATYPE_WORKSTATION_TRUST)
m = Message()
m.dn = Dn(ldb, "cn=ldaptestcomputer,cn=computers," + self.base_dn)
scope=SCOPE_BASE, attrs=["sAMAccountType"])
self.assertTrue(len(res1) == 1)
self.assertEquals(int(res1[0]["sAMAccountType"][0]),
- ATYPE_NORMAL_ACCOUNT)
+ ATYPE_NORMAL_ACCOUNT)
m = Message()
m.dn = Dn(ldb, "cn=ldaptestcomputer,cn=computers," + self.base_dn)
scope=SCOPE_BASE, attrs=["sAMAccountType"])
self.assertTrue(len(res1) == 1)
self.assertEquals(int(res1[0]["sAMAccountType"][0]),
- ATYPE_WORKSTATION_TRUST)
+ ATYPE_WORKSTATION_TRUST)
m = Message()
m.dn = Dn(ldb, "cn=ldaptestcomputer,cn=computers," + self.base_dn)
scope=SCOPE_BASE, attrs=["sAMAccountType"])
self.assertTrue(len(res1) == 1)
self.assertEquals(int(res1[0]["sAMAccountType"][0]),
- ATYPE_WORKSTATION_TRUST)
+ ATYPE_WORKSTATION_TRUST)
try:
m = Message()
attrs=["userAccountControl"])
self.assertTrue(len(res1) == 1)
self.assertEquals(int(res1[0]["userAccountControl"][0]),
- UF_NORMAL_ACCOUNT | UF_PASSWD_NOTREQD | UF_ACCOUNTDISABLE)
+ UF_NORMAL_ACCOUNT | UF_PASSWD_NOTREQD | UF_ACCOUNTDISABLE)
m = Message()
m.dn = Dn(ldb, "<SID=" + ldb.get_domain_sid() + "-" + str(DOMAIN_RID_ADMINS) + ">")
m = Message()
m.dn = Dn(ldb, "cn=ldaptestuser2,cn=users," + self.base_dn)
m["primaryGroupID"] = MessageElement(str(DOMAIN_RID_ADMINS),
- FLAG_MOD_REPLACE, "primaryGroupID")
+ FLAG_MOD_REPLACE, "primaryGroupID")
ldb.modify(m)
m = Message()
m = Message()
m.dn = Dn(ldb, "cn=ldaptestcomputer,cn=computers," + self.base_dn)
m["primaryGroupID"] = MessageElement(str(DOMAIN_RID_USERS),
- FLAG_MOD_REPLACE, "primaryGroupID")
+ FLAG_MOD_REPLACE, "primaryGroupID")
ldb.modify(m)
m = Message()
rpmd = ndr_unpack(drsblobs.replPropertyMetaDataBlob,
res[0]["replPropertyMetaData"][0])
lastsetmd = self.find_repl_meta_data(rpmd,
- drsuapi.DRSUAPI_ATTID_pwdLastSet)
+ drsuapi.DRSUAPI_ATTID_pwdLastSet)
self.assertIsNotNone(lastsetmd)
self.assertEqual(lastsetmd.version, 1)
nthashmd = self.find_repl_meta_data(rpmd,
- drsuapi.DRSUAPI_ATTID_unicodePwd)
+ drsuapi.DRSUAPI_ATTID_unicodePwd)
self.assertIsNotNone(nthashmd)
self.assertEqual(nthashmd.version, 1)
nthistmd = self.find_repl_meta_data(rpmd,
- drsuapi.DRSUAPI_ATTID_ntPwdHistory)
+ drsuapi.DRSUAPI_ATTID_ntPwdHistory)
self.assertIsNotNone(nthistmd)
self.assertEqual(nthistmd.version, 1)
lmhashmd = self.find_repl_meta_data(rpmd,
- drsuapi.DRSUAPI_ATTID_dBCSPwd)
+ drsuapi.DRSUAPI_ATTID_dBCSPwd)
self.assertIsNotNone(lmhashmd)
self.assertEqual(lmhashmd.version, 1)
lmhistmd = self.find_repl_meta_data(rpmd,
- drsuapi.DRSUAPI_ATTID_lmPwdHistory)
+ drsuapi.DRSUAPI_ATTID_lmPwdHistory)
self.assertIsNotNone(lmhistmd)
self.assertEqual(lmhistmd.version, 1)
spcbmd = self.find_repl_meta_data(rpmd,
- drsuapi.DRSUAPI_ATTID_supplementalCredentials)
+ drsuapi.DRSUAPI_ATTID_supplementalCredentials)
self.assertIsNotNone(spcbmd)
self.assertEqual(spcbmd.version, 1)
rpmd = ndr_unpack(drsblobs.replPropertyMetaDataBlob,
res[0]["replPropertyMetaData"][0])
lastsetmd = self.find_repl_meta_data(rpmd,
- drsuapi.DRSUAPI_ATTID_pwdLastSet)
+ drsuapi.DRSUAPI_ATTID_pwdLastSet)
self.assertIsNotNone(lastsetmd)
self.assertEqual(lastsetmd.version, 1)
nthashmd = self.find_repl_meta_data(rpmd,
- drsuapi.DRSUAPI_ATTID_unicodePwd)
+ drsuapi.DRSUAPI_ATTID_unicodePwd)
self.assertIsNotNone(nthashmd)
self.assertEqual(nthashmd.version, 2)
nthistmd = self.find_repl_meta_data(rpmd,
- drsuapi.DRSUAPI_ATTID_ntPwdHistory)
+ drsuapi.DRSUAPI_ATTID_ntPwdHistory)
self.assertIsNotNone(nthistmd)
self.assertEqual(nthistmd.version, 2)
lmhashmd = self.find_repl_meta_data(rpmd,
- drsuapi.DRSUAPI_ATTID_dBCSPwd)
+ drsuapi.DRSUAPI_ATTID_dBCSPwd)
self.assertIsNotNone(lmhashmd)
self.assertEqual(lmhashmd.version, 2)
lmhistmd = self.find_repl_meta_data(rpmd,
- drsuapi.DRSUAPI_ATTID_lmPwdHistory)
+ drsuapi.DRSUAPI_ATTID_lmPwdHistory)
self.assertIsNotNone(lmhistmd)
self.assertEqual(lmhistmd.version, 2)
spcbmd = self.find_repl_meta_data(rpmd,
- drsuapi.DRSUAPI_ATTID_supplementalCredentials)
+ drsuapi.DRSUAPI_ATTID_supplementalCredentials)
self.assertIsNotNone(spcbmd)
self.assertEqual(spcbmd.version, 2)
rpmd = ndr_unpack(drsblobs.replPropertyMetaDataBlob,
res[0]["replPropertyMetaData"][0])
lastsetmd = self.find_repl_meta_data(rpmd,
- drsuapi.DRSUAPI_ATTID_pwdLastSet)
+ drsuapi.DRSUAPI_ATTID_pwdLastSet)
self.assertIsNotNone(lastsetmd)
self.assertEqual(lastsetmd.version, 1)
nthashmd = self.find_repl_meta_data(rpmd,
- drsuapi.DRSUAPI_ATTID_unicodePwd)
+ drsuapi.DRSUAPI_ATTID_unicodePwd)
self.assertIsNotNone(nthashmd)
self.assertEqual(nthashmd.version, 1)
nthistmd = self.find_repl_meta_data(rpmd,
- drsuapi.DRSUAPI_ATTID_ntPwdHistory)
+ drsuapi.DRSUAPI_ATTID_ntPwdHistory)
self.assertIsNotNone(nthistmd)
self.assertEqual(nthistmd.version, 1)
lmhashmd = self.find_repl_meta_data(rpmd,
- drsuapi.DRSUAPI_ATTID_dBCSPwd)
+ drsuapi.DRSUAPI_ATTID_dBCSPwd)
self.assertIsNotNone(lmhashmd)
self.assertEqual(lmhashmd.version, 1)
lmhistmd = self.find_repl_meta_data(rpmd,
- drsuapi.DRSUAPI_ATTID_lmPwdHistory)
+ drsuapi.DRSUAPI_ATTID_lmPwdHistory)
self.assertIsNotNone(lmhistmd)
self.assertEqual(lmhistmd.version, 1)
spcbmd = self.find_repl_meta_data(rpmd,
- drsuapi.DRSUAPI_ATTID_supplementalCredentials)
+ drsuapi.DRSUAPI_ATTID_supplementalCredentials)
self.assertIsNone(spcbmd)
m = Message()
rpmd = ndr_unpack(drsblobs.replPropertyMetaDataBlob,
res[0]["replPropertyMetaData"][0])
lastsetmd = self.find_repl_meta_data(rpmd,
- drsuapi.DRSUAPI_ATTID_pwdLastSet)
+ drsuapi.DRSUAPI_ATTID_pwdLastSet)
self.assertIsNotNone(lastsetmd)
self.assertEqual(lastsetmd.version, 1)
nthashmd = self.find_repl_meta_data(rpmd,
- drsuapi.DRSUAPI_ATTID_unicodePwd)
+ drsuapi.DRSUAPI_ATTID_unicodePwd)
self.assertIsNotNone(nthashmd)
self.assertEqual(nthashmd.version, 2)
nthistmd = self.find_repl_meta_data(rpmd,
- drsuapi.DRSUAPI_ATTID_ntPwdHistory)
+ drsuapi.DRSUAPI_ATTID_ntPwdHistory)
self.assertIsNotNone(nthistmd)
self.assertEqual(nthistmd.version, 2)
lmhashmd = self.find_repl_meta_data(rpmd,
- drsuapi.DRSUAPI_ATTID_dBCSPwd)
+ drsuapi.DRSUAPI_ATTID_dBCSPwd)
self.assertIsNotNone(lmhashmd)
self.assertEqual(lmhashmd.version, 2)
lmhistmd = self.find_repl_meta_data(rpmd,
- drsuapi.DRSUAPI_ATTID_lmPwdHistory)
+ drsuapi.DRSUAPI_ATTID_lmPwdHistory)
self.assertIsNotNone(lmhistmd)
self.assertEqual(lmhistmd.version, 2)
spcbmd = self.find_repl_meta_data(rpmd,
- drsuapi.DRSUAPI_ATTID_supplementalCredentials)
+ drsuapi.DRSUAPI_ATTID_supplementalCredentials)
self.assertIsNotNone(spcbmd)
self.assertEqual(spcbmd.version, 1)
rpmd = ndr_unpack(drsblobs.replPropertyMetaDataBlob,
res[0]["replPropertyMetaData"][0])
lastsetmd = self.find_repl_meta_data(rpmd,
- drsuapi.DRSUAPI_ATTID_pwdLastSet)
+ drsuapi.DRSUAPI_ATTID_pwdLastSet)
self.assertIsNotNone(lastsetmd)
self.assertEqual(lastsetmd.version, 1)
nthashmd = self.find_repl_meta_data(rpmd,
- drsuapi.DRSUAPI_ATTID_unicodePwd)
+ drsuapi.DRSUAPI_ATTID_unicodePwd)
self.assertIsNotNone(nthashmd)
self.assertEqual(nthashmd.version, 2)
nthistmd = self.find_repl_meta_data(rpmd,
- drsuapi.DRSUAPI_ATTID_ntPwdHistory)
+ drsuapi.DRSUAPI_ATTID_ntPwdHistory)
self.assertIsNotNone(nthistmd)
self.assertEqual(nthistmd.version, 2)
lmhashmd = self.find_repl_meta_data(rpmd,
- drsuapi.DRSUAPI_ATTID_dBCSPwd)
+ drsuapi.DRSUAPI_ATTID_dBCSPwd)
self.assertIsNotNone(lmhashmd)
self.assertEqual(lmhashmd.version, 2)
lmhistmd = self.find_repl_meta_data(rpmd,
- drsuapi.DRSUAPI_ATTID_lmPwdHistory)
+ drsuapi.DRSUAPI_ATTID_lmPwdHistory)
self.assertIsNotNone(lmhistmd)
self.assertEqual(lmhistmd.version, 2)
spcbmd = self.find_repl_meta_data(rpmd,
- drsuapi.DRSUAPI_ATTID_supplementalCredentials)
+ drsuapi.DRSUAPI_ATTID_supplementalCredentials)
self.assertIsNotNone(spcbmd)
self.assertEqual(spcbmd.version, 1)
rpmd = ndr_unpack(drsblobs.replPropertyMetaDataBlob,
res[0]["replPropertyMetaData"][0])
lastsetmd = self.find_repl_meta_data(rpmd,
- drsuapi.DRSUAPI_ATTID_pwdLastSet)
+ drsuapi.DRSUAPI_ATTID_pwdLastSet)
self.assertIsNotNone(lastsetmd)
self.assertEqual(lastsetmd.version, 1)
nthashmd = self.find_repl_meta_data(rpmd,
- drsuapi.DRSUAPI_ATTID_unicodePwd)
+ drsuapi.DRSUAPI_ATTID_unicodePwd)
self.assertIsNotNone(nthashmd)
self.assertEqual(nthashmd.version, 1)
nthistmd = self.find_repl_meta_data(rpmd,
- drsuapi.DRSUAPI_ATTID_ntPwdHistory)
+ drsuapi.DRSUAPI_ATTID_ntPwdHistory)
self.assertIsNotNone(nthistmd)
self.assertEqual(nthistmd.version, 1)
lmhashmd = self.find_repl_meta_data(rpmd,
- drsuapi.DRSUAPI_ATTID_dBCSPwd)
+ drsuapi.DRSUAPI_ATTID_dBCSPwd)
self.assertIsNotNone(lmhashmd)
self.assertEqual(lmhashmd.version, 1)
lmhistmd = self.find_repl_meta_data(rpmd,
- drsuapi.DRSUAPI_ATTID_lmPwdHistory)
+ drsuapi.DRSUAPI_ATTID_lmPwdHistory)
self.assertIsNotNone(lmhistmd)
self.assertEqual(lmhistmd.version, 1)
spcbmd = self.find_repl_meta_data(rpmd,
- drsuapi.DRSUAPI_ATTID_supplementalCredentials)
+ drsuapi.DRSUAPI_ATTID_supplementalCredentials)
self.assertIsNotNone(spcbmd)
self.assertEqual(spcbmd.version, 1)
rpmd = ndr_unpack(drsblobs.replPropertyMetaDataBlob,
res[0]["replPropertyMetaData"][0])
lastsetmd = self.find_repl_meta_data(rpmd,
- drsuapi.DRSUAPI_ATTID_pwdLastSet)
+ drsuapi.DRSUAPI_ATTID_pwdLastSet)
self.assertIsNotNone(lastsetmd)
self.assertEqual(lastsetmd.version, 1)
nthashmd = self.find_repl_meta_data(rpmd,
- drsuapi.DRSUAPI_ATTID_unicodePwd)
+ drsuapi.DRSUAPI_ATTID_unicodePwd)
self.assertIsNotNone(nthashmd)
self.assertEqual(nthashmd.version, 1)
nthistmd = self.find_repl_meta_data(rpmd,
- drsuapi.DRSUAPI_ATTID_ntPwdHistory)
+ drsuapi.DRSUAPI_ATTID_ntPwdHistory)
self.assertIsNotNone(nthistmd)
self.assertEqual(nthistmd.version, 1)
lmhashmd = self.find_repl_meta_data(rpmd,
- drsuapi.DRSUAPI_ATTID_dBCSPwd)
+ drsuapi.DRSUAPI_ATTID_dBCSPwd)
self.assertIsNotNone(lmhashmd)
self.assertEqual(lmhashmd.version, 1)
lmhistmd = self.find_repl_meta_data(rpmd,
- drsuapi.DRSUAPI_ATTID_lmPwdHistory)
+ drsuapi.DRSUAPI_ATTID_lmPwdHistory)
self.assertIsNotNone(lmhistmd)
self.assertEqual(lmhistmd.version, 1)
spcbmd = self.find_repl_meta_data(rpmd,
- drsuapi.DRSUAPI_ATTID_supplementalCredentials)
+ drsuapi.DRSUAPI_ATTID_supplementalCredentials)
self.assertIsNotNone(spcbmd)
self.assertEqual(spcbmd.version, 1)
m = Message()
m.dn = Dn(ldb, "cn=ldaptestcomputer,cn=computers," + self.base_dn)
m["userAccountControl"] = MessageElement(str(UF_NORMAL_ACCOUNT | UF_PASSWD_NOTREQD),
- FLAG_MOD_REPLACE, "userAccountControl")
+ FLAG_MOD_REPLACE, "userAccountControl")
ldb.modify(m)
res1 = ldb.search("cn=ldaptestcomputer,cn=computers," + self.base_dn,
m = Message()
m.dn = Dn(ldb, "cn=ldaptestcomputer,cn=computers," + self.base_dn)
m["userAccountControl"] = MessageElement(str(UF_WORKSTATION_TRUST_ACCOUNT),
- FLAG_MOD_REPLACE, "userAccountControl")
+ FLAG_MOD_REPLACE, "userAccountControl")
ldb.modify(m)
res1 = ldb.search("cn=ldaptestcomputer,cn=computers," + self.base_dn,
m = Message()
m.dn = Dn(ldb, "cn=ldaptestcomputer,cn=computers," + self.base_dn)
m["userAccountControl"] = MessageElement(str(UF_NORMAL_ACCOUNT | UF_PASSWD_NOTREQD),
- FLAG_MOD_REPLACE, "userAccountControl")
+ FLAG_MOD_REPLACE, "userAccountControl")
ldb.modify(m)
res1 = ldb.search("cn=ldaptestcomputer,cn=computers," + self.base_dn,
m = Message()
m.dn = Dn(ldb, "cn=ldaptestcomputer,cn=computers," + self.base_dn)
m["userAccountControl"] = MessageElement(str(UF_SERVER_TRUST_ACCOUNT),
- FLAG_MOD_REPLACE, "userAccountControl")
+ FLAG_MOD_REPLACE, "userAccountControl")
ldb.modify(m)
res1 = ldb.search("cn=ldaptestcomputer,cn=computers," + self.base_dn,
m = Message()
m.dn = Dn(ldb, "cn=ldaptestcomputer,cn=computers," + self.base_dn)
m["userAccountControl"] = MessageElement(str(UF_WORKSTATION_TRUST_ACCOUNT),
- FLAG_MOD_REPLACE, "userAccountControl")
+ FLAG_MOD_REPLACE, "userAccountControl")
ldb.modify(m)
res1 = ldb.search("cn=ldaptestcomputer,cn=computers," + self.base_dn,
m = Message()
m.dn = Dn(ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
m["description"] = MessageElement(["desc1","desc2"], FLAG_MOD_REPLACE,
- "description")
+ "description")
try:
ldb.modify(m)
self.fail()
m = Message()
m.dn = Dn(ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
m["description"] = MessageElement(["desc1","desc2"], FLAG_MOD_DELETE,
- "description")
+ "description")
ldb.modify(m)
delete_force(self.ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
m = Message()
m.dn = Dn(ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
m["description"] = MessageElement("desc1", FLAG_MOD_REPLACE,
- "description")
+ "description")
ldb.modify(m)
res = ldb.search("cn=ldaptestgroup,cn=users," + self.base_dn,
m = Message()
m.dn = Dn(ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
m["description"] = MessageElement("desc1", FLAG_MOD_REPLACE,
- "description")
+ "description")
ldb.modify(m)
res = ldb.search("cn=ldaptestgroup,cn=users," + self.base_dn,
m = Message()
m.dn = Dn(ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
m["description"] = MessageElement("desc3", FLAG_MOD_ADD,
- "description")
+ "description")
try:
ldb.modify(m)
self.fail()
m = Message()
m.dn = Dn(ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
m["description"] = MessageElement(["desc1","desc2"], FLAG_MOD_DELETE,
- "description")
+ "description")
try:
ldb.modify(m)
self.fail()
m = Message()
m.dn = Dn(ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
m["description"] = MessageElement("desc1", FLAG_MOD_DELETE,
- "description")
+ "description")
ldb.modify(m)
res = ldb.search("cn=ldaptestgroup,cn=users," + self.base_dn,
scope=SCOPE_BASE, attrs=["description"])
m = Message()
m.dn = Dn(ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
m["description"] = MessageElement(["desc1","desc2"], FLAG_MOD_REPLACE,
- "description")
+ "description")
try:
ldb.modify(m)
self.fail()
m = Message()
m.dn = Dn(ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
m["description"] = MessageElement(["desc3", "desc4"], FLAG_MOD_ADD,
- "description")
+ "description")
try:
ldb.modify(m)
self.fail()
m = Message()
m.dn = Dn(ldb, "cn=ldaptestgroup,cn=users," + self.base_dn)
m["description"] = MessageElement("desc1", FLAG_MOD_ADD,
- "description")
+ "description")
ldb.modify(m)
res = ldb.search("cn=ldaptestgroup,cn=users," + self.base_dn,