Copyright (C) Simo Sorce 2004-2006
Copyright (C) Andrew Bartlett <abartlet@samba.org> 2005
Copyright (C) Andrew Tridgell 2005
- Copyright (C) Stefan Metzmacher 2007
+ Copyright (C) Stefan Metzmacher <metze@samba.org> 2007
** NOTE! The following LGPL license applies to the ldb
** library. This does NOT imply that all of Samba is released
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
- version 2 of the License, or (at your option) any later version.
+ version 3 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
- License along with this library; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ License along with this library; if not, see <http://www.gnu.org/licenses/>.
*/
/*
struct replPropertyMetaData1 *m = &nmd.ctr.ctr1.array[ni];
const struct dsdb_attribute *sa;
+ if (e->name[0] == '@') continue;
+
sa = dsdb_attribute_by_lDAPDisplayName(schema, e->name);
if (!sa) {
ldb_debug_set(module->ldb, LDB_DEBUG_ERROR,
void *private_data,
struct ldb_reply *ares)
{
-#ifdef REPLMD_FULL_ASYNC /* TODO: active this code when ldb support full async code */
+#ifdef REPLMD_FULL_ASYNC /* TODO: activate this code when ldb support full async code */
struct replmd_replicated_request *ar = talloc_get_type(private_data,
struct replmd_replicated_request);
replmd_replicated_apply_add_callback);
if (ret != LDB_SUCCESS) return replmd_replicated_request_error(ar, ret);
-#ifdef REPLMD_FULL_ASYNC /* TODO: active this code when ldb support full async code */
+#ifdef REPLMD_FULL_ASYNC /* TODO: activate this code when ldb support full async code */
return ldb_next_request(ar->module, ar->sub.change_req);
#else
ret = ldb_next_request(ar->module, ar->sub.change_req);
void *private_data,
struct ldb_reply *ares)
{
-#ifdef REPLMD_FULL_ASYNC /* TODO: active this code when ldb support full async code */
+#ifdef REPLMD_FULL_ASYNC /* TODO: activate this code when ldb support full async code */
struct replmd_replicated_request *ar = talloc_get_type(private_data,
struct replmd_replicated_request);
replmd_replicated_apply_merge_callback);
if (ret != LDB_SUCCESS) return replmd_replicated_request_error(ar, ret);
-#ifdef REPLMD_FULL_ASYNC /* TODO: active this code when ldb support full async code */
+#ifdef REPLMD_FULL_ASYNC /* TODO: activate this code when ldb support full async code */
return ldb_next_request(ar->module, ar->sub.change_req);
#else
ret = ldb_next_request(ar->module, ar->sub.change_req);
talloc_free(ares);
-#ifdef REPLMD_FULL_ASYNC /* TODO: active this code when ldb support full async code */
+#ifdef REPLMD_FULL_ASYNC /* TODO: activate this code when ldb support full async code */
if (is_done) {
ar->sub.search_ret = ldb_wait(ar->sub.search_req->handle, LDB_WAIT_ALL);
if (ar->sub.search_ret != LDB_SUCCESS) {
replmd_replicated_apply_search_callback);
if (ret != LDB_SUCCESS) return replmd_replicated_request_error(ar, ret);
-#ifdef REPLMD_FULL_ASYNC /* TODO: active this code when ldb support full async code */
+#ifdef REPLMD_FULL_ASYNC /* TODO: activate this code when ldb support full async code */
return ldb_next_request(ar->module, ar->sub.search_req);
#else
ret = ldb_next_request(ar->module, ar->sub.search_req);
static int replmd_replicated_apply_next(struct replmd_replicated_request *ar)
{
-#ifdef REPLMD_FULL_ASYNC /* TODO: active this code when ldb support full async code */
+#ifdef REPLMD_FULL_ASYNC /* TODO: activate this code when ldb support full async code */
if (ar->index_current >= ar->objs->num_objects) {
return replmd_replicated_uptodate_vector(ar);
}
void *private_data,
struct ldb_reply *ares)
{
-#ifdef REPLMD_FULL_ASYNC /* TODO: active this code when ldb support full async code */
+#ifdef REPLMD_FULL_ASYNC /* TODO: activate this code when ldb support full async code */
struct replmd_replicated_request *ar = talloc_get_type(private_data,
struct replmd_replicated_request);
replmd_replicated_uptodate_modify_callback);
if (ret != LDB_SUCCESS) return replmd_replicated_request_error(ar, ret);
-#ifdef REPLMD_FULL_ASYNC /* TODO: active this code when ldb support full async code */
+#ifdef REPLMD_FULL_ASYNC /* TODO: activate this code when ldb support full async code */
return ldb_next_request(ar->module, ar->sub.change_req);
#else
ret = ldb_next_request(ar->module, ar->sub.change_req);
talloc_free(ares);
-#ifdef REPLMD_FULL_ASYNC /* TODO: active this code when ldb support full async code */
+#ifdef REPLMD_FULL_ASYNC /* TODO: activate this code when ldb support full async code */
if (is_done) {
ar->sub.search_ret = ldb_wait(ar->sub.search_req->handle, LDB_WAIT_ALL);
if (ar->sub.search_ret != LDB_SUCCESS) {
replmd_replicated_uptodate_search_callback);
if (ret != LDB_SUCCESS) return replmd_replicated_request_error(ar, ret);
-#ifdef REPLMD_FULL_ASYNC /* TODO: active this code when ldb support full async code */
+#ifdef REPLMD_FULL_ASYNC /* TODO: activate this code when ldb support full async code */
return ldb_next_request(ar->module, ar->sub.search_req);
#else
ret = ldb_next_request(ar->module, ar->sub.search_req);
return LDB_ERR_OPERATIONS_ERROR;
}
-#ifdef REPLMD_FULL_ASYNC /* TODO: active this code when ldb support full async code */
+#ifdef REPLMD_FULL_ASYNC /* TODO: activate this code when ldb support full async code */
return replmd_replicated_apply_next(ar);
#else
while (ar->index_current < ar->objs->num_objects &&