summaryrefslogtreecommitdiff
path: root/source4/wrepl_server
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2005-12-14 19:07:53 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:47:23 -0500
commitb1e50046657fcb8877b9199919f252f99ea701a0 (patch)
tree301f36590f207f7ca3f75cc5f6aa283c97c3a448 /source4/wrepl_server
parente55a7077e6526b53b23e2343165006652026de50 (diff)
downloadsamba-b1e50046657fcb8877b9199919f252f99ea701a0.tar.gz
samba-b1e50046657fcb8877b9199919f252f99ea701a0.tar.bz2
samba-b1e50046657fcb8877b9199919f252f99ea701a0.zip
r12241: fix the inform push notifies
metze (This used to be commit 626d0e6fe508603f5f28b88fd18ff5d71a4660ca)
Diffstat (limited to 'source4/wrepl_server')
-rw-r--r--source4/wrepl_server/wrepl_out_helpers.c18
1 files changed, 12 insertions, 6 deletions
diff --git a/source4/wrepl_server/wrepl_out_helpers.c b/source4/wrepl_server/wrepl_out_helpers.c
index d19c38bfb8..b990880fff 100644
--- a/source4/wrepl_server/wrepl_out_helpers.c
+++ b/source4/wrepl_server/wrepl_out_helpers.c
@@ -802,7 +802,7 @@ NTSTATUS wreplsrv_pull_cycle_recv(struct composite_context *c)
enum wreplsrv_push_notify_stage {
WREPLSRV_PUSH_NOTIFY_STAGE_WAIT_CONNECT,
- WREPLSRV_PUSH_NOTIFY_STAGE_WAIT_UPDATE,
+ WREPLSRV_PUSH_NOTIFY_STAGE_WAIT_INFORM,
WREPLSRV_PUSH_NOTIFY_STAGE_DONE
};
@@ -944,7 +944,7 @@ static NTSTATUS wreplsrv_push_notify_inform(struct wreplsrv_push_notify_state *s
state->req->async.fn = wreplsrv_push_notify_handler_req;
state->req->async.private = state;
- state->stage = WREPLSRV_PUSH_NOTIFY_STAGE_WAIT_UPDATE;
+ state->stage = WREPLSRV_PUSH_NOTIFY_STAGE_WAIT_INFORM;
return NT_STATUS_OK;
}
@@ -976,9 +976,15 @@ static NTSTATUS wreplsrv_push_notify_wait_connect(struct wreplsrv_push_notify_st
return NT_STATUS_INTERNAL_ERROR;
}
-static NTSTATUS wreplsrv_push_notify_wait_update(struct wreplsrv_push_notify_state *state)
+static NTSTATUS wreplsrv_push_notify_wait_inform(struct wreplsrv_push_notify_state *state)
{
- return NT_STATUS_FOOBAR;
+ NTSTATUS status;
+
+ status = wrepl_request_recv(state->req, state, NULL);
+ NT_STATUS_NOT_OK_RETURN(status);
+
+ state->stage = WREPLSRV_PUSH_NOTIFY_STAGE_DONE;
+ return status;
}
static void wreplsrv_push_notify_handler(struct wreplsrv_push_notify_state *state)
@@ -989,8 +995,8 @@ static void wreplsrv_push_notify_handler(struct wreplsrv_push_notify_state *stat
case WREPLSRV_PUSH_NOTIFY_STAGE_WAIT_CONNECT:
c->status = wreplsrv_push_notify_wait_connect(state);
break;
- case WREPLSRV_PUSH_NOTIFY_STAGE_WAIT_UPDATE:
- c->status = wreplsrv_push_notify_wait_update(state);
+ case WREPLSRV_PUSH_NOTIFY_STAGE_WAIT_INFORM:
+ c->status = wreplsrv_push_notify_wait_inform(state);
break;
case WREPLSRV_PUSH_NOTIFY_STAGE_DONE:
c->status = NT_STATUS_INTERNAL_ERROR;