From 5323485eb3d5aeb844535c5b08fbdd3e7f8c9429 Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Wed, 9 Jun 2010 20:52:02 +1000 Subject: s4:dsdb Allow the setting an override on the schema The change here is to try and convert a per the previous rules, but if we don't know a particular OID as a attributeID, then store it as an OID (for example). This allows known values to be converted as before, but still copes with unknown values. Andrew Bartlett Signed-off-by: Kamen Mazdrashki --- source4/libnet/libnet_vampire.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'source4/libnet/libnet_vampire.c') diff --git a/source4/libnet/libnet_vampire.c b/source4/libnet/libnet_vampire.c index 8a9ba12141..f7c2d66fc6 100644 --- a/source4/libnet/libnet_vampire.c +++ b/source4/libnet/libnet_vampire.c @@ -60,6 +60,7 @@ struct libnet_vampire_cb_state { const char *realm; struct cli_credentials *machine_account; struct dsdb_schema *self_made_schema; + struct dsdb_schema *provision_schema; const struct dsdb_schema *schema; struct ldb_context *ldb; @@ -139,6 +140,7 @@ NTSTATUS libnet_vampire_cb_prepare_db(void *private_data, s->ldb = talloc_steal(s, result.samdb); s->lp_ctx = talloc_steal(s, result.lp_ctx); + s->provision_schema = dsdb_get_schema(s->ldb, s); /* wrap the entire vapire operation in a transaction. This isn't just cosmetic - we use this to ensure that linked @@ -249,6 +251,8 @@ static NTSTATUS libnet_vampire_cb_apply_schema(struct libnet_vampire_cb_state *s NT_STATUS_HAVE_NO_MEMORY(tmp_dns_name); s_dsa->other_info->dns_name = tmp_dns_name; + s->provision_schema->relax_OID_conversions = true; + /* Now convert the schema elements again, using the schema we just imported */ status = dsdb_extended_replicated_objects_convert(s->ldb, c->partition->nc.dn, -- cgit