diff options
Diffstat (limited to 'source4/dsdb')
-rw-r--r-- | source4/dsdb/samdb/ldb_modules/samldb.c | 18 |
1 files changed, 2 insertions, 16 deletions
diff --git a/source4/dsdb/samdb/ldb_modules/samldb.c b/source4/dsdb/samdb/ldb_modules/samldb.c index 706c0bb5c3..e662b2a663 100644 --- a/source4/dsdb/samdb/ldb_modules/samldb.c +++ b/source4/dsdb/samdb/ldb_modules/samldb.c @@ -625,20 +625,6 @@ static int samldb_fill_user_or_computer_object(struct ldb_module *module, const return LDB_ERR_OPERATIONS_ERROR; } - /* make sure we also add person, organizationalPerson and top */ - if ( ! samldb_find_or_add_attribute(module, msg2, "objectclass", "person", "person")) { - talloc_free(mem_ctx); - return LDB_ERR_OPERATIONS_ERROR; - } - if ( ! samldb_find_or_add_attribute(module, msg2, "objectclass", "organizationalPerson", "organizationalPerson")) { - talloc_free(mem_ctx); - return LDB_ERR_OPERATIONS_ERROR; - } - if ( ! samldb_find_or_add_attribute(module, msg2, "objectclass", "top", "top")) { - talloc_free(mem_ctx); - return LDB_ERR_OPERATIONS_ERROR; - } - /* meddle with objectclass */ if (ldb_msg_find_element(msg2, "samAccountName") == NULL) { @@ -841,8 +827,8 @@ static int samldb_add_async(struct ldb_module *module, struct ldb_request *req) } /* is user or computer? */ - if ((samldb_find_attribute(msg, "objectclass", "user") == NULL) && - (samldb_find_attribute(msg, "objectclass", "computer") == NULL)) { + if ((samldb_find_attribute(msg, "objectclass", "user") != NULL) || + (samldb_find_attribute(msg, "objectclass", "computer") != NULL)) { /* add all relevant missing objects */ ret = samldb_fill_user_or_computer_object(module, msg, &msg2); if (ret) { |