diff options
author | Anatoliy Atanasov <anatoliy.atanasov@postpath.com> | 2009-07-03 15:24:40 +0300 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2009-07-08 14:40:20 +1000 |
commit | 6b05a9079ce38eb590f4a94b427bc69123cd6a23 (patch) | |
tree | 9d02eff85227b970dba7563d106db7dd018c2dec /source4/dsdb/schema | |
parent | dad913118344922139401ee5afaec8f3e68e05dd (diff) | |
download | samba-6b05a9079ce38eb590f4a94b427bc69123cd6a23.tar.gz samba-6b05a9079ce38eb590f4a94b427bc69123cd6a23.tar.bz2 samba-6b05a9079ce38eb590f4a94b427bc69123cd6a23.zip |
Fix for schemaUpdateNow command
Diffstat (limited to 'source4/dsdb/schema')
-rw-r--r-- | source4/dsdb/schema/schema_init.c | 2 | ||||
-rw-r--r-- | source4/dsdb/schema/schema_set.c | 6 |
2 files changed, 4 insertions, 4 deletions
diff --git a/source4/dsdb/schema/schema_init.c b/source4/dsdb/schema/schema_init.c index 1084679f8d..dfa745e305 100644 --- a/source4/dsdb/schema/schema_init.c +++ b/source4/dsdb/schema/schema_init.c @@ -576,7 +576,7 @@ WERROR dsdb_read_prefixes_from_ldb(TALLOC_CTX *mem_ctx, struct ldb_context *ldb, (*prefixes)[i].id = blob->ctr.dsdb.mappings[i].id_prefix<<16; oid = talloc_strdup(mem_ctx, blob->ctr.dsdb.mappings[i].oid.oid); (*prefixes)[i].oid = talloc_asprintf_append(oid, "."); - (*prefixes)[i].oid_len = strlen(blob->ctr.dsdb.mappings[i].oid.oid); + (*prefixes)[i].oid_len = strlen((*prefixes)[i].oid); } talloc_free(blob); diff --git a/source4/dsdb/schema/schema_set.c b/source4/dsdb/schema/schema_set.c index 8b1188a1b5..5ded04e9da 100644 --- a/source4/dsdb/schema/schema_set.c +++ b/source4/dsdb/schema/schema_set.c @@ -135,7 +135,7 @@ static int dsdb_schema_set_attributes(struct ldb_context *ldb, struct dsdb_schem mod_msg = ldb_msg_diff(ldb, res->msgs[0], msg); if (mod_msg->num_elements > 0) { - ret = ldb_modify(ldb, mod_msg); + ret = samdb_replace(ldb, mem_ctx, mod_msg); } } @@ -154,7 +154,7 @@ static int dsdb_schema_set_attributes(struct ldb_context *ldb, struct dsdb_schem if (ret == LDB_ERR_NO_SUCH_OBJECT) { ret = ldb_add(ldb, msg_idx); } else if (ret != LDB_SUCCESS) { - } else if (res->count != 1) { + } else if (res_idx->count != 1) { ret = ldb_add(ldb, msg_idx); } else { ret = LDB_SUCCESS; @@ -163,7 +163,7 @@ static int dsdb_schema_set_attributes(struct ldb_context *ldb, struct dsdb_schem mod_msg = ldb_msg_diff(ldb, res_idx->msgs[0], msg_idx); if (mod_msg->num_elements > 0) { - ret = ldb_modify(ldb, mod_msg); + ret = samdb_replace(ldb, mem_ctx, mod_msg); } } if (ret == LDB_ERR_INSUFFICIENT_ACCESS_RIGHTS) { |