summaryrefslogtreecommitdiff
path: root/source4/wrepl_server/wrepl_out_helpers.c
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2006-01-02 17:19:09 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:49:36 -0500
commitb75ed7d7ac9b3d5beca71926a15cfec5e3a0092c (patch)
treed951c116c1399b260a8b4f16a196ca1e9d3a606e /source4/wrepl_server/wrepl_out_helpers.c
parent1a83c7388f7c677e58608b5670c335e7701fdf70 (diff)
downloadsamba-b75ed7d7ac9b3d5beca71926a15cfec5e3a0092c.tar.gz
samba-b75ed7d7ac9b3d5beca71926a15cfec5e3a0092c.tar.bz2
samba-b75ed7d7ac9b3d5beca71926a15cfec5e3a0092c.zip
r12677: get rid of the special cases for the local wins owner table entry,
the call to winsdb_get_maxVersion() is moved into place. This allows us to fetch records with the owner address that matches our local_owner address, this is important if the restart with an empty wins.ldb. w2k3 does this in the same way when you remove the database files from disk and restart the WINS-Service. metze (This used to be commit e43de87d06614206a858e1102cd82e7f02163bba)
Diffstat (limited to 'source4/wrepl_server/wrepl_out_helpers.c')
-rw-r--r--source4/wrepl_server/wrepl_out_helpers.c16
1 files changed, 6 insertions, 10 deletions
diff --git a/source4/wrepl_server/wrepl_out_helpers.c b/source4/wrepl_server/wrepl_out_helpers.c
index 3b69b40fa0..738d89a55b 100644
--- a/source4/wrepl_server/wrepl_out_helpers.c
+++ b/source4/wrepl_server/wrepl_out_helpers.c
@@ -552,10 +552,12 @@ static NTSTATUS wreplsrv_pull_cycle_next_owner_do_work(struct wreplsrv_pull_cycl
BOOL do_pull = False;
for (i=state->current; i < state->table_io.out.num_owners; i++) {
- current_owner = wreplsrv_find_owner(state->io->in.partner->pull.table,
+ current_owner = wreplsrv_find_owner(state->io->in.partner->service,
+ state->io->in.partner->pull.table,
state->table_io.out.owners[i].address);
- local_owner = wreplsrv_find_owner(state->io->in.partner->service->table,
+ local_owner = wreplsrv_find_owner(state->io->in.partner->service,
+ state->io->in.partner->service->table,
state->table_io.out.owners[i].address);
/*
* this means we are ourself the current owner,
@@ -639,12 +641,6 @@ static NTSTATUS wreplsrv_pull_cycle_wait_table_reply(struct wreplsrv_pull_cycle_
/* update partner table */
for (i=0; i < state->table_io.out.num_owners; i++) {
- BOOL is_our_addr;
-
- is_our_addr = wreplsrv_is_our_address(state->io->in.partner->service,
- state->table_io.out.owners[i].address);
- if (is_our_addr) continue;
-
status = wreplsrv_add_table(state->io->in.partner->service,
state->io->in.partner,
&state->io->in.partner->pull.table,
@@ -843,7 +839,7 @@ static NTSTATUS wreplsrv_push_notify_update(struct wreplsrv_push_notify_state *s
NT_STATUS_HAVE_NO_MEMORY(our_ip);
status = wreplsrv_fill_wrepl_table(service, state, table_out,
- our_ip, our_ip, state->full_table);
+ our_ip, state->full_table);
NT_STATUS_NOT_OK_RETURN(status);
/* queue the request */
@@ -928,7 +924,7 @@ static NTSTATUS wreplsrv_push_notify_inform(struct wreplsrv_push_notify_state *s
NT_STATUS_HAVE_NO_MEMORY(our_ip);
status = wreplsrv_fill_wrepl_table(service, state, table_out,
- our_ip, our_ip, state->full_table);
+ our_ip, state->full_table);
NT_STATUS_NOT_OK_RETURN(status);
/* we won't get a reply to a inform message */