[SCM] Samba Shared Repository - branch master updated
Kamen Mazdrashki
kamenim at samba.org
Thu Nov 11 12:39:01 MST 2010
The branch, master has been updated
via dcd346c s4-tests: Make repl_schema.py test part of Samba4 test suite
via 0868a15 s4-repl: Propagate remote prefixMap in DRSUAPI data conversion functions
via 2d0cb54 s4-dsdb_syntax: Warning message that we can't find requested ATTID in Schema Cache
via 3ab7552 s4-prefixMap: dsdb_schema_pfm_oid_from_attid() to use const prefixMap
via e772518 s4-dsdb_syntax: Use remote prefixMap to handle generic cases in drsuapi_to_ldb conversions
via f65c840 s4-dsdb_syntax: Add remote prefixMap member for dsdb_syntax conversions
via a8495d3 s4-repl: dsdb_extended_replicated_objects_convert -> dsdb_replicated_objects_convert/
via 227e8dc s4-repl: dsdb_extended_replicated_objects_commit -> dsdb_replicated_objects_commit
via 28f41c1 s4-repl: dsdb_convert_object -> dsdb_origin_object_convert
via 7ada90e s4-test: repl_schema - Make sure LdbError and ERR_NO_SUCH_OBJECT are visible
from beaf14e s3: Well... Fix a stupid error
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit dcd346c0e541246260507c96283eefaef23edebb
Author: Kamen Mazdrashki <kamenim at samba.org>
Date: Wed Nov 10 06:14:20 2010 +0200
s4-tests: Make repl_schema.py test part of Samba4 test suite
Autobuild-User: Kamen Mazdrashki <kamenim at samba.org>
Autobuild-Date: Thu Nov 11 19:38:18 UTC 2010 on sn-devel-104
commit 0868a1598220e2ed73aefcd9ec3517a38704ac9e
Author: Kamen Mazdrashki <kamenim at samba.org>
Date: Wed Nov 10 03:45:22 2010 +0200
s4-repl: Propagate remote prefixMap in DRSUAPI data conversion functions
commit 2d0cb54ceb8f568f233533ada007822ffb40ee3d
Author: Kamen Mazdrashki <kamenim at samba.org>
Date: Wed Nov 10 02:32:29 2010 +0200
s4-dsdb_syntax: Warning message that we can't find requested ATTID in Schema Cache
commit 3ab75524ee11f9121f41b3d4dd452ecdf9847e67
Author: Kamen Mazdrashki <kamenim at samba.org>
Date: Tue Nov 9 04:36:24 2010 +0200
s4-prefixMap: dsdb_schema_pfm_oid_from_attid() to use const prefixMap
It is not supposed to change supplied prefixMap
commit e772518a64f1f616ba6c00a8ee45cffd228bd8b3
Author: Kamen Mazdrashki <kamenim at samba.org>
Date: Tue Nov 9 04:12:57 2010 +0200
s4-dsdb_syntax: Use remote prefixMap to handle generic cases in drsuapi_to_ldb conversions
commit f65c8402998c0759aac1ff27234a5e841a3bba37
Author: Kamen Mazdrashki <kamenim at samba.org>
Date: Tue Nov 9 04:12:16 2010 +0200
s4-dsdb_syntax: Add remote prefixMap member for dsdb_syntax conversions
commit a8495d380ef93f8d236d521c8b1b8bf76f689acf
Author: Kamen Mazdrashki <kamenim at samba.org>
Date: Sun Nov 7 23:04:33 2010 +0200
s4-repl: dsdb_extended_replicated_objects_convert -> dsdb_replicated_objects_convert/
It is part of dsdb_replicated_* family of functions
commit 227e8dcfcfeeb5721e4f23c2bc183fd63c5bbe30
Author: Kamen Mazdrashki <kamenim at samba.org>
Date: Sun Nov 7 22:51:11 2010 +0200
s4-repl: dsdb_extended_replicated_objects_commit -> dsdb_replicated_objects_commit
It is part of dsdb_replicated_* family of functions
commit 28f41c166a77c0d69f0b1eb3e0d811fb66e696a4
Author: Kamen Mazdrashki <kamenim at samba.org>
Date: Sun Nov 7 21:47:39 2010 +0200
s4-repl: dsdb_convert_object -> dsdb_origin_object_convert
It is used in dsdb_origin_objects_commit() func,
hence the dsdb_origin_ prefix
commit 7ada90ec2956fc8fc744676496e847f1a4d2f163
Author: Kamen Mazdrashki <kamenim at samba.org>
Date: Thu Nov 11 20:19:47 2010 +0200
s4-test: repl_schema - Make sure LdbError and ERR_NO_SUCH_OBJECT are visible
-----------------------------------------------------------------------
Summary of changes:
source4/dsdb/repl/drepl_out_helpers.c | 28 ++++++------
source4/dsdb/repl/replicated_objects.c | 66 ++++++++++++++++++-----------
source4/dsdb/schema/schema.h | 3 +
source4/dsdb/schema/schema_prefixmap.c | 3 +-
source4/dsdb/schema/schema_syntax.c | 14 +++++-
source4/libnet/libnet_vampire.c | 60 +++++++++++++++-----------
source4/selftest/tests.py | 1 +
source4/torture/drs/python/repl_schema.py | 1 +
source4/torture/drs/rpc/dssync.c | 18 ++++----
9 files changed, 117 insertions(+), 77 deletions(-)
Changeset truncated at 500 lines:
diff --git a/source4/dsdb/repl/drepl_out_helpers.c b/source4/dsdb/repl/drepl_out_helpers.c
index f83cdda..b99f126 100644
--- a/source4/dsdb/repl/drepl_out_helpers.c
+++ b/source4/dsdb/repl/drepl_out_helpers.c
@@ -580,17 +580,17 @@ static void dreplsrv_op_pull_source_apply_changes_trigger(struct tevent_req *req
return;
}
- status = dsdb_extended_replicated_objects_convert(service->samdb,
- partition->nc.dn,
- mapping_ctr,
- object_count,
- first_object,
- linked_attributes_count,
- linked_attributes,
- &rf1,
- uptodateness_vector,
- &drsuapi->gensec_skey,
- state, &objects);
+ status = dsdb_replicated_objects_convert(service->samdb,
+ partition->nc.dn,
+ mapping_ctr,
+ object_count,
+ first_object,
+ linked_attributes_count,
+ linked_attributes,
+ &rf1,
+ uptodateness_vector,
+ &drsuapi->gensec_skey,
+ state, &objects);
if (!W_ERROR_IS_OK(status)) {
nt_status = werror_to_ntstatus(WERR_BAD_NET_RESP);
DEBUG(0,("Failed to convert objects: %s/%s\n",
@@ -599,9 +599,9 @@ static void dreplsrv_op_pull_source_apply_changes_trigger(struct tevent_req *req
return;
}
- status = dsdb_extended_replicated_objects_commit(service->samdb,
- objects,
- &state->op->source_dsa->notify_uSN);
+ status = dsdb_replicated_objects_commit(service->samdb,
+ objects,
+ &state->op->source_dsa->notify_uSN);
talloc_free(objects);
if (!W_ERROR_IS_OK(status)) {
nt_status = werror_to_ntstatus(WERR_BAD_NET_RESP);
diff --git a/source4/dsdb/repl/replicated_objects.c b/source4/dsdb/repl/replicated_objects.c
index 5c3cf48..5824334 100644
--- a/source4/dsdb/repl/replicated_objects.c
+++ b/source4/dsdb/repl/replicated_objects.c
@@ -33,6 +33,7 @@
WERROR dsdb_convert_object_ex(struct ldb_context *ldb,
const struct dsdb_schema *schema,
+ const struct dsdb_schema_prefixmap *pfm_remote,
const struct drsuapi_DsReplicaObjectListItemEx *in,
const DATA_BLOB *gensec_skey,
TALLOC_CTX *mem_ctx,
@@ -127,7 +128,8 @@ WERROR dsdb_convert_object_ex(struct ldb_context *ldb,
W_ERROR_NOT_OK_RETURN(status);
}
- status = dsdb_attribute_drsuapi_to_ldb(ldb, schema, a, msg->elements, e);
+ status = dsdb_attribute_drsuapi_to_ldb(ldb, schema, pfm_remote,
+ a, msg->elements, e);
W_ERROR_NOT_OK_RETURN(status);
m->attid = a->attid;
@@ -196,22 +198,23 @@ WERROR dsdb_convert_object_ex(struct ldb_context *ldb,
return WERR_OK;
}
-WERROR dsdb_extended_replicated_objects_convert(struct ldb_context *ldb,
- const char *partition_dn_str,
- const struct drsuapi_DsReplicaOIDMapping_Ctr *mapping_ctr,
- uint32_t object_count,
- const struct drsuapi_DsReplicaObjectListItemEx *first_object,
- uint32_t linked_attributes_count,
- const struct drsuapi_DsReplicaLinkedAttribute *linked_attributes,
- const struct repsFromTo1 *source_dsa,
- const struct drsuapi_DsReplicaCursor2CtrEx *uptodateness_vector,
- const DATA_BLOB *gensec_skey,
- TALLOC_CTX *mem_ctx,
- struct dsdb_extended_replicated_objects **objects)
+WERROR dsdb_replicated_objects_convert(struct ldb_context *ldb,
+ const char *partition_dn_str,
+ const struct drsuapi_DsReplicaOIDMapping_Ctr *mapping_ctr,
+ uint32_t object_count,
+ const struct drsuapi_DsReplicaObjectListItemEx *first_object,
+ uint32_t linked_attributes_count,
+ const struct drsuapi_DsReplicaLinkedAttribute *linked_attributes,
+ const struct repsFromTo1 *source_dsa,
+ const struct drsuapi_DsReplicaCursor2CtrEx *uptodateness_vector,
+ const DATA_BLOB *gensec_skey,
+ TALLOC_CTX *mem_ctx,
+ struct dsdb_extended_replicated_objects **objects)
{
WERROR status;
struct ldb_dn *partition_dn;
const struct dsdb_schema *schema;
+ struct dsdb_schema_prefixmap *pfm_remote;
struct dsdb_extended_replicated_objects *out;
const struct drsuapi_DsReplicaObjectListItemEx *cur;
uint32_t i;
@@ -230,6 +233,15 @@ WERROR dsdb_extended_replicated_objects_convert(struct ldb_context *ldb,
partition_dn = ldb_dn_new(out, ldb, partition_dn_str);
W_ERROR_HAVE_NO_MEMORY_AND_FREE(partition_dn, out);
+ status = dsdb_schema_pfm_from_drsuapi_pfm(mapping_ctr, true,
+ out, &pfm_remote, NULL);
+ if (!W_ERROR_IS_OK(status)) {
+ DEBUG(0,(__location__ ": Failed to decode remote prefixMap: %s",
+ win_errstr(status)));
+ talloc_free(out);
+ return status;
+ }
+
if (ldb_dn_compare(partition_dn, ldb_get_schema_basedn(ldb)) != 0) {
/*
* check for schema changes in case
@@ -266,7 +278,7 @@ WERROR dsdb_extended_replicated_objects_convert(struct ldb_context *ldb,
return WERR_FOOBAR;
}
- status = dsdb_convert_object_ex(ldb, schema,
+ status = dsdb_convert_object_ex(ldb, schema, pfm_remote,
cur, gensec_skey,
out->objects, &out->objects[i]);
if (!W_ERROR_IS_OK(status)) {
@@ -282,13 +294,16 @@ WERROR dsdb_extended_replicated_objects_convert(struct ldb_context *ldb,
return WERR_FOOBAR;
}
+ /* free pfm_remote, we won't need it anymore */
+ talloc_free(pfm_remote);
+
*objects = out;
return WERR_OK;
}
-WERROR dsdb_extended_replicated_objects_commit(struct ldb_context *ldb,
- struct dsdb_extended_replicated_objects *objects,
- uint64_t *notify_uSN)
+WERROR dsdb_replicated_objects_commit(struct ldb_context *ldb,
+ struct dsdb_extended_replicated_objects *objects,
+ uint64_t *notify_uSN)
{
struct ldb_result *ext_res;
int ret;
@@ -356,11 +371,11 @@ WERROR dsdb_extended_replicated_objects_commit(struct ldb_context *ldb,
return WERR_OK;
}
-static WERROR dsdb_convert_object(struct ldb_context *ldb,
- const struct dsdb_schema *schema,
- const struct drsuapi_DsReplicaObjectListItem *in,
- TALLOC_CTX *mem_ctx,
- struct ldb_message **_msg)
+static WERROR dsdb_origin_object_convert(struct ldb_context *ldb,
+ const struct dsdb_schema *schema,
+ const struct drsuapi_DsReplicaObjectListItem *in,
+ TALLOC_CTX *mem_ctx,
+ struct ldb_message **_msg)
{
WERROR status;
unsigned int i;
@@ -392,7 +407,8 @@ static WERROR dsdb_convert_object(struct ldb_context *ldb,
a = &in->object.attribute_ctr.attributes[i];
e = &msg->elements[i];
- status = dsdb_attribute_drsuapi_to_ldb(ldb, schema, a, msg->elements, e);
+ status = dsdb_attribute_drsuapi_to_ldb(ldb, schema, schema->prefixmap,
+ a, msg->elements, e);
W_ERROR_NOT_OK_RETURN(status);
}
@@ -449,8 +465,8 @@ WERROR dsdb_origin_objects_commit(struct ldb_context *ldb,
}
for (i=0, cur = first_object; cur; cur = cur->next_object, i++) {
- status = dsdb_convert_object(ldb, schema,
- cur, objects, &objects[i]);
+ status = dsdb_origin_object_convert(ldb, schema, cur,
+ objects, &objects[i]);
if (!W_ERROR_IS_OK(status)) {
goto cancel;
}
diff --git a/source4/dsdb/schema/schema.h b/source4/dsdb/schema/schema.h
index fd1e090..5ba2254 100644
--- a/source4/dsdb/schema/schema.h
+++ b/source4/dsdb/schema/schema.h
@@ -35,6 +35,9 @@ struct dsdb_syntax_ctx {
/* set when converting objects under Schema NC */
bool is_schema_nc;
+
+ /* remote prefixMap to be used for drsuapi_to_ldb conversions */
+ const struct dsdb_schema_prefixmap *pfm_remote;
};
diff --git a/source4/dsdb/schema/schema_prefixmap.c b/source4/dsdb/schema/schema_prefixmap.c
index 371ec88..18b22ff 100644
--- a/source4/dsdb/schema/schema_prefixmap.c
+++ b/source4/dsdb/schema/schema_prefixmap.c
@@ -351,7 +351,8 @@ WERROR dsdb_schema_pfm_attid_from_oid(struct dsdb_schema_prefixmap *pfm,
* Make OID for given ATTID.
* Reference: [MS-DRSR] section 5.12.2
*/
-WERROR dsdb_schema_pfm_oid_from_attid(struct dsdb_schema_prefixmap *pfm, uint32_t attid,
+WERROR dsdb_schema_pfm_oid_from_attid(const struct dsdb_schema_prefixmap *pfm,
+ uint32_t attid,
TALLOC_CTX *mem_ctx, const char **_oid)
{
uint32_t i;
diff --git a/source4/dsdb/schema/schema_syntax.c b/source4/dsdb/schema/schema_syntax.c
index 9cd3105..0d1d274 100644
--- a/source4/dsdb/schema/schema_syntax.c
+++ b/source4/dsdb/schema/schema_syntax.c
@@ -48,6 +48,8 @@ void dsdb_syntax_ctx_init(struct dsdb_syntax_ctx *ctx,
* i.e. attributeID_id will be returned by default
*/
ctx->is_schema_nc = true;
+
+ ctx->pfm_remote = NULL;
}
@@ -902,7 +904,9 @@ static WERROR _dsdb_syntax_auto_OID_drsuapi_to_ldb(const struct dsdb_syntax_ctx
str = talloc_strdup(out->values, a->lDAPDisplayName);
} else {
WERROR werr;
- werr = dsdb_schema_pfm_oid_from_attid(ctx->schema->prefixmap, v, out->values, &str);
+ SMB_ASSERT(ctx->pfm_remote);
+ werr = dsdb_schema_pfm_oid_from_attid(ctx->pfm_remote, v,
+ out->values, &str);
W_ERROR_NOT_OK_RETURN(werr);
}
W_ERROR_HAVE_NO_MEMORY(str);
@@ -1014,6 +1018,8 @@ static WERROR _dsdb_syntax_OID_oid_drsuapi_to_ldb(const struct dsdb_syntax_ctx *
{
unsigned int i;
+ SMB_ASSERT(ctx->pfm_remote);
+
out->flags = 0;
out->name = talloc_strdup(mem_ctx, attr->lDAPDisplayName);
W_ERROR_HAVE_NO_MEMORY(out->name);
@@ -1037,7 +1043,8 @@ static WERROR _dsdb_syntax_OID_oid_drsuapi_to_ldb(const struct dsdb_syntax_ctx *
attid = IVAL(in->value_ctr.values[i].blob->data, 0);
- status = dsdb_schema_pfm_oid_from_attid(ctx->schema->prefixmap, attid, out->values, &oid);
+ status = dsdb_schema_pfm_oid_from_attid(ctx->pfm_remote, attid,
+ out->values, &oid);
W_ERROR_NOT_OK_RETURN(status);
out->values[i] = data_blob_string_const(oid);
@@ -2579,6 +2586,7 @@ const struct dsdb_syntax *dsdb_syntax_for_attribute(const struct dsdb_attribute
WERROR dsdb_attribute_drsuapi_to_ldb(struct ldb_context *ldb,
const struct dsdb_schema *schema,
+ const struct dsdb_schema_prefixmap *pfm_remote,
const struct drsuapi_DsReplicaAttribute *in,
TALLOC_CTX *mem_ctx,
struct ldb_message_element *out)
@@ -2588,11 +2596,13 @@ WERROR dsdb_attribute_drsuapi_to_ldb(struct ldb_context *ldb,
sa = dsdb_attribute_by_attributeID_id(schema, in->attid);
if (!sa) {
+ DEBUG(1,(__location__ ": Unknown attributeID_id 0x%08X\n", in->attid));
return WERR_FOOBAR;
}
/* use default syntax conversion context */
dsdb_syntax_ctx_init(&syntax_ctx, ldb, schema);
+ syntax_ctx.pfm_remote = pfm_remote;
return sa->syntax->drsuapi_to_ldb(&syntax_ctx, sa, in, mem_ctx, out);
}
diff --git a/source4/libnet/libnet_vampire.c b/source4/libnet/libnet_vampire.c
index f349a5d..164dcde 100644
--- a/source4/libnet/libnet_vampire.c
+++ b/source4/libnet/libnet_vampire.c
@@ -225,6 +225,7 @@ static NTSTATUS libnet_vampire_cb_apply_schema(struct libnet_vampire_cb_state *s
};
WERROR status;
+ struct dsdb_schema_prefixmap *pfm_remote;
const struct drsuapi_DsReplicaOIDMapping_Ctr *mapping_ctr;
struct schema_list *schema_list = NULL, *schema_list_item, *schema_list_next_item;
struct dsdb_schema *working_schema;
@@ -280,6 +281,14 @@ static NTSTATUS libnet_vampire_cb_apply_schema(struct libnet_vampire_cb_state *s
return NT_STATUS_INVALID_PARAMETER;
}
+ status = dsdb_schema_pfm_from_drsuapi_pfm(mapping_ctr, true,
+ s, &pfm_remote, NULL);
+ if (!W_ERROR_IS_OK(status)) {
+ DEBUG(0,(__location__ ": Failed to decode remote prefixMap: %s",
+ win_errstr(status)));
+ return werror_to_ntstatus(status);
+ }
+
s_dsa->replica_flags = DRSUAPI_DRS_WRIT_REP
| DRSUAPI_DRS_INIT_SYNC
| DRSUAPI_DRS_PER_SYNC;
@@ -338,7 +347,7 @@ static NTSTATUS libnet_vampire_cb_apply_schema(struct libnet_vampire_cb_state *s
* schema we have so far. It's ok if we fail to convert
* an object. We should convert more objects on next pass.
*/
- status = dsdb_convert_object_ex(s->ldb, working_schema,
+ status = dsdb_convert_object_ex(s->ldb, working_schema, pfm_remote,
cur, c->gensec_skey,
tmp_ctx, &object);
if (!W_ERROR_IS_OK(status)) {
@@ -409,17 +418,17 @@ static NTSTATUS libnet_vampire_cb_apply_schema(struct libnet_vampire_cb_state *s
s->self_made_schema = NULL;
/* Now convert the schema elements again, using the schema we finalised, ready to actually import */
- status = dsdb_extended_replicated_objects_convert(s->ldb,
- c->partition->nc.dn,
- mapping_ctr,
- object_count,
- first_object,
- linked_attributes_count,
- linked_attributes,
- s_dsa,
- uptodateness_vector,
- c->gensec_skey,
- s, &schema_objs);
+ status = dsdb_replicated_objects_convert(s->ldb,
+ c->partition->nc.dn,
+ mapping_ctr,
+ object_count,
+ first_object,
+ linked_attributes_count,
+ linked_attributes,
+ s_dsa,
+ uptodateness_vector,
+ c->gensec_skey,
+ s, &schema_objs);
if (!W_ERROR_IS_OK(status)) {
DEBUG(0,("Failed to convert objects when trying to import over DRS (2nd pass, to store remote schema): %s\n", win_errstr(status)));
return werror_to_ntstatus(status);
@@ -436,7 +445,7 @@ static NTSTATUS libnet_vampire_cb_apply_schema(struct libnet_vampire_cb_state *s
}
}
- status = dsdb_extended_replicated_objects_commit(s->ldb, schema_objs, &seq_num);
+ status = dsdb_replicated_objects_commit(s->ldb, schema_objs, &seq_num);
if (!W_ERROR_IS_OK(status)) {
DEBUG(0,("Failed to commit objects: %s\n", win_errstr(status)));
return werror_to_ntstatus(status);
@@ -676,17 +685,17 @@ NTSTATUS libnet_vampire_cb_store_chunk(void *private_data,
}
- status = dsdb_extended_replicated_objects_convert(s->ldb,
- c->partition->nc.dn,
- mapping_ctr,
- object_count,
- first_object,
- linked_attributes_count,
- linked_attributes,
- s_dsa,
- uptodateness_vector,
- c->gensec_skey,
- s, &objs);
+ status = dsdb_replicated_objects_convert(s->ldb,
+ c->partition->nc.dn,
+ mapping_ctr,
+ object_count,
+ first_object,
+ linked_attributes_count,
+ linked_attributes,
+ s_dsa,
+ uptodateness_vector,
+ c->gensec_skey,
+ s, &objs);
if (!W_ERROR_IS_OK(status)) {
DEBUG(0,("Failed to convert objects: %s\n", win_errstr(status)));
return werror_to_ntstatus(status);
@@ -702,8 +711,7 @@ NTSTATUS libnet_vampire_cb_store_chunk(void *private_data,
NDR_PRINT_DEBUG(replPropertyMetaDataBlob, objs->objects[i].meta_data);
}
}
- status = dsdb_extended_replicated_objects_commit(s->ldb,
- objs, &seq_num);
+ status = dsdb_replicated_objects_commit(s->ldb, objs, &seq_num);
if (!W_ERROR_IS_OK(status)) {
DEBUG(0,("Failed to commit objects: %s\n", win_errstr(status)));
return werror_to_ntstatus(status);
diff --git a/source4/selftest/tests.py b/source4/selftest/tests.py
index 0c7c7c2..7a2dd44 100755
--- a/source4/selftest/tests.py
+++ b/source4/selftest/tests.py
@@ -509,6 +509,7 @@ plantestsuite("samba4.ldap.bind(dc)", "dc", [python, os.path.join(samba4srcdir,
# DRS python tests
plantestsuite("samba4.drs_delete_object.python(vampire_dc)", "vampire_dc", ['PYTHONPATH="$PYTHONPATH:%s"' % os.path.join(samba4srcdir, 'torture/drs/python'), 'DC1=$DC_SERVER', 'DC2=$VAMPIRE_DC_SERVER', subunitrun, 'delete_object', '-U$DOMAIN/$DC_USERNAME%$DC_PASSWORD'])
plantestsuite("samba4.drs_fsmo.python(vampire_dc)", "vampire_dc", ['PYTHONPATH="$PYTHONPATH:%s"' % os.path.join(samba4srcdir, 'torture/drs/python'), 'DC1=$DC_SERVER', 'DC2=$VAMPIRE_DC_SERVER', subunitrun, 'fsmo', '-U$DOMAIN/$DC_USERNAME%$DC_PASSWORD'])
+plantestsuite("samba4.drs_repl_schema.python(vampire_dc)", "vampire_dc", ['PYTHONPATH="$PYTHONPATH:%s"' % os.path.join(samba4srcdir, 'torture/drs/python'), 'DC1=$DC_SERVER', 'DC2=$VAMPIRE_DC_SERVER', subunitrun, 'repl_schema', '-U$DOMAIN/$DC_USERNAME%$DC_PASSWORD'])
# This makes sure we test the rid allocation code
t = "RPC-SAMR-LARGE-DC"
diff --git a/source4/torture/drs/python/repl_schema.py b/source4/torture/drs/python/repl_schema.py
index b407dfb..78759e1 100644
--- a/source4/torture/drs/python/repl_schema.py
+++ b/source4/torture/drs/python/repl_schema.py
@@ -35,6 +35,7 @@ import os
sys.path.append("bin/python")
from samba.auth import system_session
+from ldb import LdbError, ERR_NO_SUCH_OBJECT
from ldb import SCOPE_BASE, SCOPE_SUBTREE
from samba.samdb import SamDB
diff --git a/source4/torture/drs/rpc/dssync.c b/source4/torture/drs/rpc/dssync.c
index db1703d..9c65b91 100644
--- a/source4/torture/drs/rpc/dssync.c
+++ b/source4/torture/drs/rpc/dssync.c
@@ -340,15 +340,15 @@ static bool test_analyse_objects(struct torture_context *tctx,
"drs_util_dsdb_schema_load_ldb() failed");
ldap_schema = dsdb_get_schema(ldb, NULL);
- status = dsdb_extended_replicated_objects_convert(ldb,
- partition,
- mapping_ctr,
- object_count,
- first_object,
- 0, NULL,
- NULL, NULL,
- gensec_skey,
- ctx, &objs);
+ status = dsdb_replicated_objects_convert(ldb,
+ partition,
+ mapping_ctr,
+ object_count,
+ first_object,
+ 0, NULL,
+ NULL, NULL,
+ gensec_skey,
+ ctx, &objs);
torture_assert_werr_ok(tctx, status, "dsdb_extended_replicated_objects_convert() failed!");
extended_dn_ctrl = talloc(objs, struct ldb_extended_dn_control);
--
Samba Shared Repository
More information about the samba-cvs
mailing list