mirror of
https://github.com/samba-team/samba.git
synced 2025-07-23 20:59:10 +03:00
Fix DNs - only one more samba3sam test failing now.
This commit is contained in:
@ -58,10 +58,10 @@ class MapBaseTestCase(TestCaseInTempDir):
|
|||||||
super(MapBaseTestCase, self).setUp()
|
super(MapBaseTestCase, self).setUp()
|
||||||
|
|
||||||
def make_dn(basedn, rdn):
|
def make_dn(basedn, rdn):
|
||||||
return rdn + ",sambaDomainName=TESTS," + basedn
|
return "%s,sambaDomainName=TESTS,%s" % (rdn, basedn)
|
||||||
|
|
||||||
def make_s4dn(basedn, rdn):
|
def make_s4dn(basedn, rdn):
|
||||||
return rdn + "," + basedn
|
return "%s,%s" % (rdn, basedn)
|
||||||
|
|
||||||
self.ldbfile = os.path.join(self.tempdir, "test.ldb")
|
self.ldbfile = os.path.join(self.tempdir, "test.ldb")
|
||||||
self.ldburl = "tdb://" + self.ldbfile
|
self.ldburl = "tdb://" + self.ldbfile
|
||||||
@ -80,7 +80,7 @@ class MapBaseTestCase(TestCaseInTempDir):
|
|||||||
self._dn = dn
|
self._dn = dn
|
||||||
|
|
||||||
def dn(self, rdn):
|
def dn(self, rdn):
|
||||||
return self._dn(rdn, self.basedn)
|
return self._dn(self.basedn, rdn)
|
||||||
|
|
||||||
def connect(self):
|
def connect(self):
|
||||||
return self.db.connect(self.url)
|
return self.db.connect(self.url)
|
||||||
@ -298,88 +298,81 @@ class MapTestCase(MapBaseTestCase):
|
|||||||
def test_map_search(self):
|
def test_map_search(self):
|
||||||
"""Running search tests on mapped data."""
|
"""Running search tests on mapped data."""
|
||||||
ldif = """
|
ldif = """
|
||||||
dn: sambaDomainName=TESTS,""" + self.samba3.basedn + """
|
"""
|
||||||
objectclass: sambaDomain
|
self.samba3.db.add({
|
||||||
objectclass: top
|
"dn": "sambaDomainName=TESTS," + self.samba3.basedn,
|
||||||
sambaSID: S-1-5-21-4231626423-2410014848-2360679739
|
"objectclass": ["sambaDomain", "top"],
|
||||||
sambaNextRid: 2000
|
"sambaSID": "S-1-5-21-4231626423-2410014848-2360679739",
|
||||||
sambaDomainName: TESTS"""
|
"sambaNextRid": "2000",
|
||||||
self.samba3.add_ldif(ldif)
|
"sambaDomainName": "TESTS"
|
||||||
|
})
|
||||||
|
|
||||||
# Add a set of split records
|
# Add a set of split records
|
||||||
ldif = """
|
self.ldb.add({
|
||||||
dn: """ + self.samba4.dn("cn=X") + """
|
"dn": self.samba4.dn("cn=X"),
|
||||||
objectClass: user
|
"objectClass": "user",
|
||||||
cn: X
|
"cn": "X",
|
||||||
codePage: x
|
"codePage": "x",
|
||||||
revision: x
|
"revision": "x",
|
||||||
dnsHostName: x
|
"dnsHostName": "x",
|
||||||
nextRid: y
|
"nextRid": "y",
|
||||||
lastLogon: x
|
"lastLogon": "x",
|
||||||
description: x
|
"description": "x",
|
||||||
objectSid: S-1-5-21-4231626423-2410014848-2360679739-552
|
"objectSid": "S-1-5-21-4231626423-2410014848-2360679739-552",
|
||||||
primaryGroupID: 1-5-21-4231626423-2410014848-2360679739-512
|
"primaryGroupID": "1-5-21-4231626423-2410014848-2360679739-512"})
|
||||||
"""
|
|
||||||
|
|
||||||
self.ldb.add_ldif(self.samba4.subst(ldif))
|
self.ldb.add({
|
||||||
|
"dn": self.samba4.dn("cn=Y"),
|
||||||
|
"objectClass": "top",
|
||||||
|
"cn": "Y",
|
||||||
|
"codePage": "x",
|
||||||
|
"revision": "x",
|
||||||
|
"dnsHostName": "y",
|
||||||
|
"nextRid": "y",
|
||||||
|
"lastLogon": "y",
|
||||||
|
"description": "x"})
|
||||||
|
|
||||||
ldif = """
|
self.ldb.add({
|
||||||
dn: """ + self.samba4.dn("cn=Y") + """
|
"dn": self.samba4.dn("cn=Z"),
|
||||||
objectClass: top
|
"objectClass": "top",
|
||||||
cn: Y
|
"cn": "Z",
|
||||||
codePage: x
|
"codePage": "x",
|
||||||
revision: x
|
"revision": "y",
|
||||||
dnsHostName: y
|
"dnsHostName": "z",
|
||||||
nextRid: y
|
"nextRid": "y",
|
||||||
lastLogon: y
|
"lastLogon": "z",
|
||||||
description: x
|
"description": "y"})
|
||||||
"""
|
|
||||||
self.ldb.add_ldif(self.samba4.subst(ldif))
|
|
||||||
|
|
||||||
ldif = """
|
|
||||||
dn: """ + self.samba4.dn("cn=Z") + """
|
|
||||||
objectClass: top
|
|
||||||
cn: Z
|
|
||||||
codePage: x
|
|
||||||
revision: y
|
|
||||||
dnsHostName: z
|
|
||||||
nextRid: y
|
|
||||||
lastLogon: z
|
|
||||||
description: y
|
|
||||||
"""
|
|
||||||
|
|
||||||
self.ldb.add_ldif(self.samba4.subst(ldif))
|
|
||||||
|
|
||||||
# Add a set of remote records
|
# Add a set of remote records
|
||||||
|
|
||||||
ldif = """
|
self.samba3.db.add({
|
||||||
dn: """ + self.samba3.dn("cn=A") + """
|
"dn": self.samba3.dn("cn=A"),
|
||||||
objectClass: posixAccount
|
"objectClass": "posixAccount",
|
||||||
cn: A
|
"cn": "A",
|
||||||
sambaNextRid: x
|
"sambaNextRid": "x",
|
||||||
sambaBadPasswordCount: x
|
"sambaBadPasswordCount": "x",
|
||||||
sambaLogonTime: x
|
"sambaLogonTime": "x",
|
||||||
description: x
|
"description": "x",
|
||||||
sambaSID: S-1-5-21-4231626423-2410014848-2360679739-552
|
"sambaSID": "S-1-5-21-4231626423-2410014848-2360679739-552",
|
||||||
sambaPrimaryGroupSID: S-1-5-21-4231626423-2410014848-2360679739-512
|
"sambaPrimaryGroupSID": "S-1-5-21-4231626423-2410014848-2360679739-512"})
|
||||||
|
|
||||||
dn: """ + self.samba3.dn("cn=B") + """
|
self.samba3.db.add({
|
||||||
objectClass: top
|
"dn": self.samba3.dn("cn=B"),
|
||||||
cn:B
|
"objectClass": "top",
|
||||||
sambaNextRid: x
|
"cn": "B",
|
||||||
sambaBadPasswordCount: x
|
"sambaNextRid": "x",
|
||||||
sambaLogonTime: y
|
"sambaBadPasswordCount": "x",
|
||||||
description: x
|
"sambaLogonTime": "y",
|
||||||
|
"description": "x"})
|
||||||
|
|
||||||
dn: """ + self.samba3.dn("cn=C") + """
|
self.samba3.db.add({
|
||||||
objectClass: top
|
"dn": self.samba3.dn("cn=C"),
|
||||||
cn: C
|
"objectClass": "top",
|
||||||
sambaNextRid: x
|
"cn": "C",
|
||||||
sambaBadPasswordCount: y
|
"sambaNextRid": "x",
|
||||||
sambaLogonTime: z
|
"sambaBadPasswordCount": "y",
|
||||||
description: y
|
"sambaLogonTime": "z",
|
||||||
"""
|
"description": "y"})
|
||||||
self.samba3.add_ldif(ldif)
|
|
||||||
|
|
||||||
# Testing search by DN
|
# Testing search by DN
|
||||||
|
|
||||||
@ -461,7 +454,7 @@ description: y
|
|||||||
# Using the SID directly in the parse tree leads to conversion
|
# Using the SID directly in the parse tree leads to conversion
|
||||||
# errors, letting the search fail with no results.
|
# errors, letting the search fail with no results.
|
||||||
#res = self.ldb.search("(objectSid=S-1-5-21-4231626423-2410014848-2360679739-552)", scope=SCOPE_DEFAULT, attrs)
|
#res = self.ldb.search("(objectSid=S-1-5-21-4231626423-2410014848-2360679739-552)", scope=SCOPE_DEFAULT, attrs)
|
||||||
res = self.ldb.search(expression="(objectSid=*)",
|
res = self.ldb.search(expression="(objectSid=*)", base=None,
|
||||||
attrs=["dnsHostName", "lastLogon", "objectSid"])
|
attrs=["dnsHostName", "lastLogon", "objectSid"])
|
||||||
self.assertEquals(len(res), 3)
|
self.assertEquals(len(res), 3)
|
||||||
self.assertEquals(str(res[0].dn), self.samba4.dn("cn=X"))
|
self.assertEquals(str(res[0].dn), self.samba4.dn("cn=X"))
|
||||||
@ -848,7 +841,6 @@ description: foo
|
|||||||
self.assertEquals(res[0]["description"], "foo")
|
self.assertEquals(res[0]["description"], "foo")
|
||||||
self.assertEquals(res[0]["sambaBadPasswordCount"], "3")
|
self.assertEquals(res[0]["sambaBadPasswordCount"], "3")
|
||||||
self.assertEquals(res[0]["sambaNextRid"], "1001")
|
self.assertEquals(res[0]["sambaNextRid"], "1001")
|
||||||
import pdb; pdb.set_trace()
|
|
||||||
# Check in mapped db
|
# Check in mapped db
|
||||||
attrs = ["description", "badPwdCount", "nextRid"]
|
attrs = ["description", "badPwdCount", "nextRid"]
|
||||||
res = self.ldb.search(dn, scope=SCOPE_BASE, attrs=attrs, expression="")
|
res = self.ldb.search(dn, scope=SCOPE_BASE, attrs=attrs, expression="")
|
||||||
|
@ -2494,24 +2494,26 @@ SWIG_Python_MustGetPtr(PyObject *obj, swig_type_info *ty, int argnum, int flags)
|
|||||||
#define SWIGTYPE_p_ldb_ldif swig_types[8]
|
#define SWIGTYPE_p_ldb_ldif swig_types[8]
|
||||||
#define SWIGTYPE_p_ldb_message swig_types[9]
|
#define SWIGTYPE_p_ldb_message swig_types[9]
|
||||||
#define SWIGTYPE_p_ldb_message_element swig_types[10]
|
#define SWIGTYPE_p_ldb_message_element swig_types[10]
|
||||||
#define SWIGTYPE_p_ldb_result swig_types[11]
|
#define SWIGTYPE_p_ldb_module swig_types[11]
|
||||||
#define SWIGTYPE_p_loadparm_context swig_types[12]
|
#define SWIGTYPE_p_ldb_parse_tree swig_types[12]
|
||||||
#define SWIGTYPE_p_loadparm_service swig_types[13]
|
#define SWIGTYPE_p_ldb_result swig_types[13]
|
||||||
#define SWIGTYPE_p_long_long swig_types[14]
|
#define SWIGTYPE_p_loadparm_context swig_types[14]
|
||||||
#define SWIGTYPE_p_param_context swig_types[15]
|
#define SWIGTYPE_p_loadparm_service swig_types[15]
|
||||||
#define SWIGTYPE_p_param_opt swig_types[16]
|
#define SWIGTYPE_p_long_long swig_types[16]
|
||||||
#define SWIGTYPE_p_param_section swig_types[17]
|
#define SWIGTYPE_p_param_context swig_types[17]
|
||||||
#define SWIGTYPE_p_security_descriptor swig_types[18]
|
#define SWIGTYPE_p_param_opt swig_types[18]
|
||||||
#define SWIGTYPE_p_security_token swig_types[19]
|
#define SWIGTYPE_p_param_section swig_types[19]
|
||||||
#define SWIGTYPE_p_short swig_types[20]
|
#define SWIGTYPE_p_security_descriptor swig_types[20]
|
||||||
#define SWIGTYPE_p_signed_char swig_types[21]
|
#define SWIGTYPE_p_security_token swig_types[21]
|
||||||
#define SWIGTYPE_p_unsigned_char swig_types[22]
|
#define SWIGTYPE_p_short swig_types[22]
|
||||||
#define SWIGTYPE_p_unsigned_int swig_types[23]
|
#define SWIGTYPE_p_signed_char swig_types[23]
|
||||||
#define SWIGTYPE_p_unsigned_long swig_types[24]
|
#define SWIGTYPE_p_unsigned_char swig_types[24]
|
||||||
#define SWIGTYPE_p_unsigned_long_long swig_types[25]
|
#define SWIGTYPE_p_unsigned_int swig_types[25]
|
||||||
#define SWIGTYPE_p_unsigned_short swig_types[26]
|
#define SWIGTYPE_p_unsigned_long swig_types[26]
|
||||||
static swig_type_info *swig_types[28];
|
#define SWIGTYPE_p_unsigned_long_long swig_types[27]
|
||||||
static swig_module_info swig_module = {swig_types, 27, 0, 0, 0, 0};
|
#define SWIGTYPE_p_unsigned_short swig_types[28]
|
||||||
|
static swig_type_info *swig_types[30];
|
||||||
|
static swig_module_info swig_module = {swig_types, 29, 0, 0, 0, 0};
|
||||||
#define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name)
|
#define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name)
|
||||||
#define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name)
|
#define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name)
|
||||||
|
|
||||||
@ -3340,6 +3342,8 @@ static swig_type_info _swigt__p_ldb_dn = {"_p_ldb_dn", "struct ldb_dn *|ldb_dn *
|
|||||||
static swig_type_info _swigt__p_ldb_ldif = {"_p_ldb_ldif", "struct ldb_ldif *|ldb_ldif *", 0, 0, (void*)0, 0};
|
static swig_type_info _swigt__p_ldb_ldif = {"_p_ldb_ldif", "struct ldb_ldif *|ldb_ldif *", 0, 0, (void*)0, 0};
|
||||||
static swig_type_info _swigt__p_ldb_message = {"_p_ldb_message", "ldb_msg *|struct ldb_message *", 0, 0, (void*)0, 0};
|
static swig_type_info _swigt__p_ldb_message = {"_p_ldb_message", "ldb_msg *|struct ldb_message *", 0, 0, (void*)0, 0};
|
||||||
static swig_type_info _swigt__p_ldb_message_element = {"_p_ldb_message_element", "struct ldb_message_element *|ldb_message_element *", 0, 0, (void*)0, 0};
|
static swig_type_info _swigt__p_ldb_message_element = {"_p_ldb_message_element", "struct ldb_message_element *|ldb_message_element *", 0, 0, (void*)0, 0};
|
||||||
|
static swig_type_info _swigt__p_ldb_module = {"_p_ldb_module", "struct ldb_module *|ldb_module *", 0, 0, (void*)0, 0};
|
||||||
|
static swig_type_info _swigt__p_ldb_parse_tree = {"_p_ldb_parse_tree", "struct ldb_parse_tree *", 0, 0, (void*)0, 0};
|
||||||
static swig_type_info _swigt__p_ldb_result = {"_p_ldb_result", "struct ldb_result *", 0, 0, (void*)0, 0};
|
static swig_type_info _swigt__p_ldb_result = {"_p_ldb_result", "struct ldb_result *", 0, 0, (void*)0, 0};
|
||||||
static swig_type_info _swigt__p_loadparm_context = {"_p_loadparm_context", "struct loadparm_context *|loadparm_context *", 0, 0, (void*)0, 0};
|
static swig_type_info _swigt__p_loadparm_context = {"_p_loadparm_context", "struct loadparm_context *|loadparm_context *", 0, 0, (void*)0, 0};
|
||||||
static swig_type_info _swigt__p_loadparm_service = {"_p_loadparm_service", "struct loadparm_service *|loadparm_service *", 0, 0, (void*)0, 0};
|
static swig_type_info _swigt__p_loadparm_service = {"_p_loadparm_service", "struct loadparm_service *|loadparm_service *", 0, 0, (void*)0, 0};
|
||||||
@ -3369,6 +3373,8 @@ static swig_type_info *swig_type_initial[] = {
|
|||||||
&_swigt__p_ldb_ldif,
|
&_swigt__p_ldb_ldif,
|
||||||
&_swigt__p_ldb_message,
|
&_swigt__p_ldb_message,
|
||||||
&_swigt__p_ldb_message_element,
|
&_swigt__p_ldb_message_element,
|
||||||
|
&_swigt__p_ldb_module,
|
||||||
|
&_swigt__p_ldb_parse_tree,
|
||||||
&_swigt__p_ldb_result,
|
&_swigt__p_ldb_result,
|
||||||
&_swigt__p_loadparm_context,
|
&_swigt__p_loadparm_context,
|
||||||
&_swigt__p_loadparm_service,
|
&_swigt__p_loadparm_service,
|
||||||
@ -3398,6 +3404,8 @@ static swig_cast_info _swigc__p_ldb_dn[] = { {&_swigt__p_ldb_dn, 0, 0, 0},{0, 0
|
|||||||
static swig_cast_info _swigc__p_ldb_ldif[] = { {&_swigt__p_ldb_ldif, 0, 0, 0},{0, 0, 0, 0}};
|
static swig_cast_info _swigc__p_ldb_ldif[] = { {&_swigt__p_ldb_ldif, 0, 0, 0},{0, 0, 0, 0}};
|
||||||
static swig_cast_info _swigc__p_ldb_message[] = { {&_swigt__p_ldb_message, 0, 0, 0},{0, 0, 0, 0}};
|
static swig_cast_info _swigc__p_ldb_message[] = { {&_swigt__p_ldb_message, 0, 0, 0},{0, 0, 0, 0}};
|
||||||
static swig_cast_info _swigc__p_ldb_message_element[] = { {&_swigt__p_ldb_message_element, 0, 0, 0},{0, 0, 0, 0}};
|
static swig_cast_info _swigc__p_ldb_message_element[] = { {&_swigt__p_ldb_message_element, 0, 0, 0},{0, 0, 0, 0}};
|
||||||
|
static swig_cast_info _swigc__p_ldb_module[] = { {&_swigt__p_ldb_module, 0, 0, 0},{0, 0, 0, 0}};
|
||||||
|
static swig_cast_info _swigc__p_ldb_parse_tree[] = { {&_swigt__p_ldb_parse_tree, 0, 0, 0},{0, 0, 0, 0}};
|
||||||
static swig_cast_info _swigc__p_ldb_result[] = { {&_swigt__p_ldb_result, 0, 0, 0},{0, 0, 0, 0}};
|
static swig_cast_info _swigc__p_ldb_result[] = { {&_swigt__p_ldb_result, 0, 0, 0},{0, 0, 0, 0}};
|
||||||
static swig_cast_info _swigc__p_loadparm_context[] = { {&_swigt__p_loadparm_context, 0, 0, 0},{0, 0, 0, 0}};
|
static swig_cast_info _swigc__p_loadparm_context[] = { {&_swigt__p_loadparm_context, 0, 0, 0},{0, 0, 0, 0}};
|
||||||
static swig_cast_info _swigc__p_loadparm_service[] = { {&_swigt__p_loadparm_service, 0, 0, 0},{0, 0, 0, 0}};
|
static swig_cast_info _swigc__p_loadparm_service[] = { {&_swigt__p_loadparm_service, 0, 0, 0},{0, 0, 0, 0}};
|
||||||
@ -3427,6 +3435,8 @@ static swig_cast_info *swig_cast_initial[] = {
|
|||||||
_swigc__p_ldb_ldif,
|
_swigc__p_ldb_ldif,
|
||||||
_swigc__p_ldb_message,
|
_swigc__p_ldb_message,
|
||||||
_swigc__p_ldb_message_element,
|
_swigc__p_ldb_message_element,
|
||||||
|
_swigc__p_ldb_module,
|
||||||
|
_swigc__p_ldb_parse_tree,
|
||||||
_swigc__p_ldb_result,
|
_swigc__p_ldb_result,
|
||||||
_swigc__p_loadparm_context,
|
_swigc__p_loadparm_context,
|
||||||
_swigc__p_loadparm_service,
|
_swigc__p_loadparm_service,
|
||||||
|
Reference in New Issue
Block a user