[SCM] Samba Shared Repository - branch master updated - tevent-0-9-8-201-g61facf4

Andrew Tridgell tridge at samba.org
Fri Sep 11 06:14:07 MDT 2009


The branch, master has been updated
       via  61facf426691cc896ec61fde1c4cb7d947adb07b (commit)
       via  fd3a77839cf747ce884cbd4e1cc212f22c4836a2 (commit)
       via  d7d7613e31b010bc764616b3ea1d75f0c8c90235 (commit)
      from  cbac8e4fa02cb359efca9eb84b7b5b06008d7f6d (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 61facf426691cc896ec61fde1c4cb7d947adb07b
Author: Andrew Tridgell <tridge at samba.org>
Date:   Fri Sep 11 21:46:58 2009 +1000

    s4-kcc: add a very simple KCC
    
    A KCC is a 'Knowledge Consistency Checker', a fancy name for a daemon
    that works out who will replicate with who in a AD domain. This
    implements an extremely simple KCC task that just wants to replicate
    with everyone :-)

commit fd3a77839cf747ce884cbd4e1cc212f22c4836a2
Author: Andrew Tridgell <tridge at samba.org>
Date:   Fri Sep 11 21:45:35 2009 +1000

    s4-repl: don't update replPropertyMetaData for non-replicated attributes
    
    thanks to Metze for spotting this

commit d7d7613e31b010bc764616b3ea1d75f0c8c90235
Author: Andrew Tridgell <tridge at samba.org>
Date:   Fri Sep 11 20:14:11 2009 +1000

    s4-idl: added the IDL for the DsReplica* calls

-----------------------------------------------------------------------

Summary of changes:
 librpc/gen_ndr/cli_drsuapi.c                    |  204 ++++---
 librpc/gen_ndr/cli_drsuapi.h                    |   72 ++-
 librpc/gen_ndr/drsuapi.h                        |   77 ++-
 librpc/gen_ndr/ndr_drsuapi.c                    |  796 +++++++++++++++++++++-
 librpc/gen_ndr/ndr_drsuapi.h                    |   19 +-
 librpc/idl/drsuapi.idl                          |   76 ++-
 source4/dsdb/config.mk                          |   18 +
 source4/dsdb/kcc/kcc_periodic.c                 |  209 ++++++
 source4/dsdb/kcc/kcc_service.c                  |  221 +++++++
 source4/dsdb/kcc/kcc_service.h                  |   85 +++
 source4/dsdb/samdb/ldb_modules/repl_meta_data.c |    7 +
 source4/param/loadparm.c                        |    2 +-
 source4/rpc_server/drsuapi/dcesrv_drsuapi.c     |   18 +-
 source4/smbd/server.c                           |    1 +
 14 files changed, 1627 insertions(+), 178 deletions(-)
 create mode 100644 source4/dsdb/kcc/kcc_periodic.c
 create mode 100644 source4/dsdb/kcc/kcc_service.c
 create mode 100644 source4/dsdb/kcc/kcc_service.h


Changeset truncated at 500 lines:

diff --git a/librpc/gen_ndr/cli_drsuapi.c b/librpc/gen_ndr/cli_drsuapi.c
index 14c89aa..43d41ea 100644
--- a/librpc/gen_ndr/cli_drsuapi.c
+++ b/librpc/gen_ndr/cli_drsuapi.c
@@ -852,25 +852,28 @@ NTSTATUS rpccli_drsuapi_DsReplicaUpdateRefs(struct rpc_pipe_client *cli,
 	return werror_to_ntstatus(r.out.result);
 }
 
-struct rpccli_DRSUAPI_REPLICA_ADD_state {
-	struct DRSUAPI_REPLICA_ADD orig;
-	struct DRSUAPI_REPLICA_ADD tmp;
+struct rpccli_drsuapi_DsReplicaAdd_state {
+	struct drsuapi_DsReplicaAdd orig;
+	struct drsuapi_DsReplicaAdd tmp;
 	TALLOC_CTX *out_mem_ctx;
 	NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx);
 };
 
-static void rpccli_DRSUAPI_REPLICA_ADD_done(struct tevent_req *subreq);
+static void rpccli_drsuapi_DsReplicaAdd_done(struct tevent_req *subreq);
 
-struct tevent_req *rpccli_DRSUAPI_REPLICA_ADD_send(TALLOC_CTX *mem_ctx,
-						   struct tevent_context *ev,
-						   struct rpc_pipe_client *cli)
+struct tevent_req *rpccli_drsuapi_DsReplicaAdd_send(TALLOC_CTX *mem_ctx,
+						    struct tevent_context *ev,
+						    struct rpc_pipe_client *cli,
+						    struct policy_handle *_bind_handle /* [in] [ref] */,
+						    int32_t _level /* [in]  */,
+						    union drsuapi_DsReplicaAddRequest _req /* [in] [switch_is(level)] */)
 {
 	struct tevent_req *req;
-	struct rpccli_DRSUAPI_REPLICA_ADD_state *state;
+	struct rpccli_drsuapi_DsReplicaAdd_state *state;
 	struct tevent_req *subreq;
 
 	req = tevent_req_create(mem_ctx, &state,
-				struct rpccli_DRSUAPI_REPLICA_ADD_state);
+				struct rpccli_drsuapi_DsReplicaAdd_state);
 	if (req == NULL) {
 		return NULL;
 	}
@@ -878,6 +881,9 @@ struct tevent_req *rpccli_DRSUAPI_REPLICA_ADD_send(TALLOC_CTX *mem_ctx,
 	state->dispatch_recv = cli->dispatch_recv;
 
 	/* In parameters */
+	state->orig.in.bind_handle = _bind_handle;
+	state->orig.in.level = _level;
+	state->orig.in.req = _req;
 
 	/* Out parameters */
 
@@ -885,7 +891,7 @@ struct tevent_req *rpccli_DRSUAPI_REPLICA_ADD_send(TALLOC_CTX *mem_ctx,
 	ZERO_STRUCT(state->orig.out.result);
 
 	if (DEBUGLEVEL >= 10) {
-		NDR_PRINT_IN_DEBUG(DRSUAPI_REPLICA_ADD, &state->orig);
+		NDR_PRINT_IN_DEBUG(drsuapi_DsReplicaAdd, &state->orig);
 	}
 
 	/* make a temporary copy, that we pass to the dispatch function */
@@ -893,21 +899,21 @@ struct tevent_req *rpccli_DRSUAPI_REPLICA_ADD_send(TALLOC_CTX *mem_ctx,
 
 	subreq = cli->dispatch_send(state, ev, cli,
 				    &ndr_table_drsuapi,
-				    NDR_DRSUAPI_REPLICA_ADD,
+				    NDR_DRSUAPI_DSREPLICAADD,
 				    &state->tmp);
 	if (tevent_req_nomem(subreq, req)) {
 		return tevent_req_post(req, ev);
 	}
-	tevent_req_set_callback(subreq, rpccli_DRSUAPI_REPLICA_ADD_done, req);
+	tevent_req_set_callback(subreq, rpccli_drsuapi_DsReplicaAdd_done, req);
 	return req;
 }
 
-static void rpccli_DRSUAPI_REPLICA_ADD_done(struct tevent_req *subreq)
+static void rpccli_drsuapi_DsReplicaAdd_done(struct tevent_req *subreq)
 {
 	struct tevent_req *req = tevent_req_callback_data(
 		subreq, struct tevent_req);
-	struct rpccli_DRSUAPI_REPLICA_ADD_state *state = tevent_req_data(
-		req, struct rpccli_DRSUAPI_REPLICA_ADD_state);
+	struct rpccli_drsuapi_DsReplicaAdd_state *state = tevent_req_data(
+		req, struct rpccli_drsuapi_DsReplicaAdd_state);
 	NTSTATUS status;
 	TALLOC_CTX *mem_ctx;
 
@@ -933,18 +939,18 @@ static void rpccli_DRSUAPI_REPLICA_ADD_done(struct tevent_req *subreq)
 	ZERO_STRUCT(state->tmp);
 
 	if (DEBUGLEVEL >= 10) {
-		NDR_PRINT_OUT_DEBUG(DRSUAPI_REPLICA_ADD, &state->orig);
+		NDR_PRINT_OUT_DEBUG(drsuapi_DsReplicaAdd, &state->orig);
 	}
 
 	tevent_req_done(req);
 }
 
-NTSTATUS rpccli_DRSUAPI_REPLICA_ADD_recv(struct tevent_req *req,
-					 TALLOC_CTX *mem_ctx,
-					 WERROR *result)
+NTSTATUS rpccli_drsuapi_DsReplicaAdd_recv(struct tevent_req *req,
+					  TALLOC_CTX *mem_ctx,
+					  WERROR *result)
 {
-	struct rpccli_DRSUAPI_REPLICA_ADD_state *state = tevent_req_data(
-		req, struct rpccli_DRSUAPI_REPLICA_ADD_state);
+	struct rpccli_drsuapi_DsReplicaAdd_state *state = tevent_req_data(
+		req, struct rpccli_drsuapi_DsReplicaAdd_state);
 	NTSTATUS status;
 
 	if (tevent_req_is_nterror(req, &status)) {
@@ -962,23 +968,29 @@ NTSTATUS rpccli_DRSUAPI_REPLICA_ADD_recv(struct tevent_req *req,
 	return NT_STATUS_OK;
 }
 
-NTSTATUS rpccli_DRSUAPI_REPLICA_ADD(struct rpc_pipe_client *cli,
-				    TALLOC_CTX *mem_ctx,
-				    WERROR *werror)
+NTSTATUS rpccli_drsuapi_DsReplicaAdd(struct rpc_pipe_client *cli,
+				     TALLOC_CTX *mem_ctx,
+				     struct policy_handle *bind_handle /* [in] [ref] */,
+				     int32_t level /* [in]  */,
+				     union drsuapi_DsReplicaAddRequest req /* [in] [switch_is(level)] */,
+				     WERROR *werror)
 {
-	struct DRSUAPI_REPLICA_ADD r;
+	struct drsuapi_DsReplicaAdd r;
 	NTSTATUS status;
 
 	/* In parameters */
+	r.in.bind_handle = bind_handle;
+	r.in.level = level;
+	r.in.req = req;
 
 	if (DEBUGLEVEL >= 10) {
-		NDR_PRINT_IN_DEBUG(DRSUAPI_REPLICA_ADD, &r);
+		NDR_PRINT_IN_DEBUG(drsuapi_DsReplicaAdd, &r);
 	}
 
 	status = cli->dispatch(cli,
 				mem_ctx,
 				&ndr_table_drsuapi,
-				NDR_DRSUAPI_REPLICA_ADD,
+				NDR_DRSUAPI_DSREPLICAADD,
 				&r);
 
 	if (!NT_STATUS_IS_OK(status)) {
@@ -986,7 +998,7 @@ NTSTATUS rpccli_DRSUAPI_REPLICA_ADD(struct rpc_pipe_client *cli,
 	}
 
 	if (DEBUGLEVEL >= 10) {
-		NDR_PRINT_OUT_DEBUG(DRSUAPI_REPLICA_ADD, &r);
+		NDR_PRINT_OUT_DEBUG(drsuapi_DsReplicaAdd, &r);
 	}
 
 	if (NT_STATUS_IS_ERR(status)) {
@@ -1003,25 +1015,28 @@ NTSTATUS rpccli_DRSUAPI_REPLICA_ADD(struct rpc_pipe_client *cli,
 	return werror_to_ntstatus(r.out.result);
 }
 
-struct rpccli_DRSUAPI_REPLICA_DEL_state {
-	struct DRSUAPI_REPLICA_DEL orig;
-	struct DRSUAPI_REPLICA_DEL tmp;
+struct rpccli_drsuapi_DsReplicaDel_state {
+	struct drsuapi_DsReplicaDel orig;
+	struct drsuapi_DsReplicaDel tmp;
 	TALLOC_CTX *out_mem_ctx;
 	NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx);
 };
 
-static void rpccli_DRSUAPI_REPLICA_DEL_done(struct tevent_req *subreq);
+static void rpccli_drsuapi_DsReplicaDel_done(struct tevent_req *subreq);
 
-struct tevent_req *rpccli_DRSUAPI_REPLICA_DEL_send(TALLOC_CTX *mem_ctx,
-						   struct tevent_context *ev,
-						   struct rpc_pipe_client *cli)
+struct tevent_req *rpccli_drsuapi_DsReplicaDel_send(TALLOC_CTX *mem_ctx,
+						    struct tevent_context *ev,
+						    struct rpc_pipe_client *cli,
+						    struct policy_handle *_bind_handle /* [in] [ref] */,
+						    int32_t _level /* [in]  */,
+						    union drsuapi_DsReplicaDelRequest _req /* [in] [switch_is(level)] */)
 {
 	struct tevent_req *req;
-	struct rpccli_DRSUAPI_REPLICA_DEL_state *state;
+	struct rpccli_drsuapi_DsReplicaDel_state *state;
 	struct tevent_req *subreq;
 
 	req = tevent_req_create(mem_ctx, &state,
-				struct rpccli_DRSUAPI_REPLICA_DEL_state);
+				struct rpccli_drsuapi_DsReplicaDel_state);
 	if (req == NULL) {
 		return NULL;
 	}
@@ -1029,6 +1044,9 @@ struct tevent_req *rpccli_DRSUAPI_REPLICA_DEL_send(TALLOC_CTX *mem_ctx,
 	state->dispatch_recv = cli->dispatch_recv;
 
 	/* In parameters */
+	state->orig.in.bind_handle = _bind_handle;
+	state->orig.in.level = _level;
+	state->orig.in.req = _req;
 
 	/* Out parameters */
 
@@ -1036,7 +1054,7 @@ struct tevent_req *rpccli_DRSUAPI_REPLICA_DEL_send(TALLOC_CTX *mem_ctx,
 	ZERO_STRUCT(state->orig.out.result);
 
 	if (DEBUGLEVEL >= 10) {
-		NDR_PRINT_IN_DEBUG(DRSUAPI_REPLICA_DEL, &state->orig);
+		NDR_PRINT_IN_DEBUG(drsuapi_DsReplicaDel, &state->orig);
 	}
 
 	/* make a temporary copy, that we pass to the dispatch function */
@@ -1044,21 +1062,21 @@ struct tevent_req *rpccli_DRSUAPI_REPLICA_DEL_send(TALLOC_CTX *mem_ctx,
 
 	subreq = cli->dispatch_send(state, ev, cli,
 				    &ndr_table_drsuapi,
-				    NDR_DRSUAPI_REPLICA_DEL,
+				    NDR_DRSUAPI_DSREPLICADEL,
 				    &state->tmp);
 	if (tevent_req_nomem(subreq, req)) {
 		return tevent_req_post(req, ev);
 	}
-	tevent_req_set_callback(subreq, rpccli_DRSUAPI_REPLICA_DEL_done, req);
+	tevent_req_set_callback(subreq, rpccli_drsuapi_DsReplicaDel_done, req);
 	return req;
 }
 
-static void rpccli_DRSUAPI_REPLICA_DEL_done(struct tevent_req *subreq)
+static void rpccli_drsuapi_DsReplicaDel_done(struct tevent_req *subreq)
 {
 	struct tevent_req *req = tevent_req_callback_data(
 		subreq, struct tevent_req);
-	struct rpccli_DRSUAPI_REPLICA_DEL_state *state = tevent_req_data(
-		req, struct rpccli_DRSUAPI_REPLICA_DEL_state);
+	struct rpccli_drsuapi_DsReplicaDel_state *state = tevent_req_data(
+		req, struct rpccli_drsuapi_DsReplicaDel_state);
 	NTSTATUS status;
 	TALLOC_CTX *mem_ctx;
 
@@ -1084,18 +1102,18 @@ static void rpccli_DRSUAPI_REPLICA_DEL_done(struct tevent_req *subreq)
 	ZERO_STRUCT(state->tmp);
 
 	if (DEBUGLEVEL >= 10) {
-		NDR_PRINT_OUT_DEBUG(DRSUAPI_REPLICA_DEL, &state->orig);
+		NDR_PRINT_OUT_DEBUG(drsuapi_DsReplicaDel, &state->orig);
 	}
 
 	tevent_req_done(req);
 }
 
-NTSTATUS rpccli_DRSUAPI_REPLICA_DEL_recv(struct tevent_req *req,
-					 TALLOC_CTX *mem_ctx,
-					 WERROR *result)
+NTSTATUS rpccli_drsuapi_DsReplicaDel_recv(struct tevent_req *req,
+					  TALLOC_CTX *mem_ctx,
+					  WERROR *result)
 {
-	struct rpccli_DRSUAPI_REPLICA_DEL_state *state = tevent_req_data(
-		req, struct rpccli_DRSUAPI_REPLICA_DEL_state);
+	struct rpccli_drsuapi_DsReplicaDel_state *state = tevent_req_data(
+		req, struct rpccli_drsuapi_DsReplicaDel_state);
 	NTSTATUS status;
 
 	if (tevent_req_is_nterror(req, &status)) {
@@ -1113,23 +1131,29 @@ NTSTATUS rpccli_DRSUAPI_REPLICA_DEL_recv(struct tevent_req *req,
 	return NT_STATUS_OK;
 }
 
-NTSTATUS rpccli_DRSUAPI_REPLICA_DEL(struct rpc_pipe_client *cli,
-				    TALLOC_CTX *mem_ctx,
-				    WERROR *werror)
+NTSTATUS rpccli_drsuapi_DsReplicaDel(struct rpc_pipe_client *cli,
+				     TALLOC_CTX *mem_ctx,
+				     struct policy_handle *bind_handle /* [in] [ref] */,
+				     int32_t level /* [in]  */,
+				     union drsuapi_DsReplicaDelRequest req /* [in] [switch_is(level)] */,
+				     WERROR *werror)
 {
-	struct DRSUAPI_REPLICA_DEL r;
+	struct drsuapi_DsReplicaDel r;
 	NTSTATUS status;
 
 	/* In parameters */
+	r.in.bind_handle = bind_handle;
+	r.in.level = level;
+	r.in.req = req;
 
 	if (DEBUGLEVEL >= 10) {
-		NDR_PRINT_IN_DEBUG(DRSUAPI_REPLICA_DEL, &r);
+		NDR_PRINT_IN_DEBUG(drsuapi_DsReplicaDel, &r);
 	}
 
 	status = cli->dispatch(cli,
 				mem_ctx,
 				&ndr_table_drsuapi,
-				NDR_DRSUAPI_REPLICA_DEL,
+				NDR_DRSUAPI_DSREPLICADEL,
 				&r);
 
 	if (!NT_STATUS_IS_OK(status)) {
@@ -1137,7 +1161,7 @@ NTSTATUS rpccli_DRSUAPI_REPLICA_DEL(struct rpc_pipe_client *cli,
 	}
 
 	if (DEBUGLEVEL >= 10) {
-		NDR_PRINT_OUT_DEBUG(DRSUAPI_REPLICA_DEL, &r);
+		NDR_PRINT_OUT_DEBUG(drsuapi_DsReplicaDel, &r);
 	}
 
 	if (NT_STATUS_IS_ERR(status)) {
@@ -1154,25 +1178,28 @@ NTSTATUS rpccli_DRSUAPI_REPLICA_DEL(struct rpc_pipe_client *cli,
 	return werror_to_ntstatus(r.out.result);
 }
 
-struct rpccli_DRSUAPI_REPLICA_MODIFY_state {
-	struct DRSUAPI_REPLICA_MODIFY orig;
-	struct DRSUAPI_REPLICA_MODIFY tmp;
+struct rpccli_drsuapi_DsReplicaMod_state {
+	struct drsuapi_DsReplicaMod orig;
+	struct drsuapi_DsReplicaMod tmp;
 	TALLOC_CTX *out_mem_ctx;
 	NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx);
 };
 
-static void rpccli_DRSUAPI_REPLICA_MODIFY_done(struct tevent_req *subreq);
+static void rpccli_drsuapi_DsReplicaMod_done(struct tevent_req *subreq);
 
-struct tevent_req *rpccli_DRSUAPI_REPLICA_MODIFY_send(TALLOC_CTX *mem_ctx,
-						      struct tevent_context *ev,
-						      struct rpc_pipe_client *cli)
+struct tevent_req *rpccli_drsuapi_DsReplicaMod_send(TALLOC_CTX *mem_ctx,
+						    struct tevent_context *ev,
+						    struct rpc_pipe_client *cli,
+						    struct policy_handle *_bind_handle /* [in] [ref] */,
+						    int32_t _level /* [in]  */,
+						    union drsuapi_DsReplicaModRequest _req /* [in] [switch_is(level)] */)
 {
 	struct tevent_req *req;
-	struct rpccli_DRSUAPI_REPLICA_MODIFY_state *state;
+	struct rpccli_drsuapi_DsReplicaMod_state *state;
 	struct tevent_req *subreq;
 
 	req = tevent_req_create(mem_ctx, &state,
-				struct rpccli_DRSUAPI_REPLICA_MODIFY_state);
+				struct rpccli_drsuapi_DsReplicaMod_state);
 	if (req == NULL) {
 		return NULL;
 	}
@@ -1180,6 +1207,9 @@ struct tevent_req *rpccli_DRSUAPI_REPLICA_MODIFY_send(TALLOC_CTX *mem_ctx,
 	state->dispatch_recv = cli->dispatch_recv;
 
 	/* In parameters */
+	state->orig.in.bind_handle = _bind_handle;
+	state->orig.in.level = _level;
+	state->orig.in.req = _req;
 
 	/* Out parameters */
 
@@ -1187,7 +1217,7 @@ struct tevent_req *rpccli_DRSUAPI_REPLICA_MODIFY_send(TALLOC_CTX *mem_ctx,
 	ZERO_STRUCT(state->orig.out.result);
 
 	if (DEBUGLEVEL >= 10) {
-		NDR_PRINT_IN_DEBUG(DRSUAPI_REPLICA_MODIFY, &state->orig);
+		NDR_PRINT_IN_DEBUG(drsuapi_DsReplicaMod, &state->orig);
 	}
 
 	/* make a temporary copy, that we pass to the dispatch function */
@@ -1195,21 +1225,21 @@ struct tevent_req *rpccli_DRSUAPI_REPLICA_MODIFY_send(TALLOC_CTX *mem_ctx,
 
 	subreq = cli->dispatch_send(state, ev, cli,
 				    &ndr_table_drsuapi,
-				    NDR_DRSUAPI_REPLICA_MODIFY,
+				    NDR_DRSUAPI_DSREPLICAMOD,
 				    &state->tmp);
 	if (tevent_req_nomem(subreq, req)) {
 		return tevent_req_post(req, ev);
 	}
-	tevent_req_set_callback(subreq, rpccli_DRSUAPI_REPLICA_MODIFY_done, req);
+	tevent_req_set_callback(subreq, rpccli_drsuapi_DsReplicaMod_done, req);
 	return req;
 }
 
-static void rpccli_DRSUAPI_REPLICA_MODIFY_done(struct tevent_req *subreq)
+static void rpccli_drsuapi_DsReplicaMod_done(struct tevent_req *subreq)
 {
 	struct tevent_req *req = tevent_req_callback_data(
 		subreq, struct tevent_req);
-	struct rpccli_DRSUAPI_REPLICA_MODIFY_state *state = tevent_req_data(
-		req, struct rpccli_DRSUAPI_REPLICA_MODIFY_state);
+	struct rpccli_drsuapi_DsReplicaMod_state *state = tevent_req_data(
+		req, struct rpccli_drsuapi_DsReplicaMod_state);
 	NTSTATUS status;
 	TALLOC_CTX *mem_ctx;
 
@@ -1235,18 +1265,18 @@ static void rpccli_DRSUAPI_REPLICA_MODIFY_done(struct tevent_req *subreq)
 	ZERO_STRUCT(state->tmp);
 
 	if (DEBUGLEVEL >= 10) {
-		NDR_PRINT_OUT_DEBUG(DRSUAPI_REPLICA_MODIFY, &state->orig);
+		NDR_PRINT_OUT_DEBUG(drsuapi_DsReplicaMod, &state->orig);
 	}
 
 	tevent_req_done(req);
 }
 
-NTSTATUS rpccli_DRSUAPI_REPLICA_MODIFY_recv(struct tevent_req *req,
-					    TALLOC_CTX *mem_ctx,
-					    WERROR *result)
+NTSTATUS rpccli_drsuapi_DsReplicaMod_recv(struct tevent_req *req,
+					  TALLOC_CTX *mem_ctx,
+					  WERROR *result)
 {
-	struct rpccli_DRSUAPI_REPLICA_MODIFY_state *state = tevent_req_data(
-		req, struct rpccli_DRSUAPI_REPLICA_MODIFY_state);
+	struct rpccli_drsuapi_DsReplicaMod_state *state = tevent_req_data(
+		req, struct rpccli_drsuapi_DsReplicaMod_state);
 	NTSTATUS status;
 
 	if (tevent_req_is_nterror(req, &status)) {
@@ -1264,23 +1294,29 @@ NTSTATUS rpccli_DRSUAPI_REPLICA_MODIFY_recv(struct tevent_req *req,
 	return NT_STATUS_OK;
 }
 
-NTSTATUS rpccli_DRSUAPI_REPLICA_MODIFY(struct rpc_pipe_client *cli,
-				       TALLOC_CTX *mem_ctx,
-				       WERROR *werror)
+NTSTATUS rpccli_drsuapi_DsReplicaMod(struct rpc_pipe_client *cli,
+				     TALLOC_CTX *mem_ctx,
+				     struct policy_handle *bind_handle /* [in] [ref] */,
+				     int32_t level /* [in]  */,
+				     union drsuapi_DsReplicaModRequest req /* [in] [switch_is(level)] */,
+				     WERROR *werror)
 {
-	struct DRSUAPI_REPLICA_MODIFY r;
+	struct drsuapi_DsReplicaMod r;
 	NTSTATUS status;
 
 	/* In parameters */
+	r.in.bind_handle = bind_handle;
+	r.in.level = level;
+	r.in.req = req;
 
 	if (DEBUGLEVEL >= 10) {
-		NDR_PRINT_IN_DEBUG(DRSUAPI_REPLICA_MODIFY, &r);
+		NDR_PRINT_IN_DEBUG(drsuapi_DsReplicaMod, &r);
 	}
 
 	status = cli->dispatch(cli,
 				mem_ctx,
 				&ndr_table_drsuapi,
-				NDR_DRSUAPI_REPLICA_MODIFY,
+				NDR_DRSUAPI_DSREPLICAMOD,
 				&r);
 
 	if (!NT_STATUS_IS_OK(status)) {
@@ -1288,7 +1324,7 @@ NTSTATUS rpccli_DRSUAPI_REPLICA_MODIFY(struct rpc_pipe_client *cli,
 	}
 
 	if (DEBUGLEVEL >= 10) {
-		NDR_PRINT_OUT_DEBUG(DRSUAPI_REPLICA_MODIFY, &r);
+		NDR_PRINT_OUT_DEBUG(drsuapi_DsReplicaMod, &r);
 	}
 
 	if (NT_STATUS_IS_ERR(status)) {
diff --git a/librpc/gen_ndr/cli_drsuapi.h b/librpc/gen_ndr/cli_drsuapi.h
index 4475281..0549bdf 100644
--- a/librpc/gen_ndr/cli_drsuapi.h
+++ b/librpc/gen_ndr/cli_drsuapi.h
@@ -76,33 +76,51 @@ NTSTATUS rpccli_drsuapi_DsReplicaUpdateRefs(struct rpc_pipe_client *cli,
 					    int32_t level /* [in]  */,
 					    union drsuapi_DsReplicaUpdateRefsRequest req /* [in] [switch_is(level)] */,
 					    WERROR *werror);
-struct tevent_req *rpccli_DRSUAPI_REPLICA_ADD_send(TALLOC_CTX *mem_ctx,
-						   struct tevent_context *ev,
-						   struct rpc_pipe_client *cli);
-NTSTATUS rpccli_DRSUAPI_REPLICA_ADD_recv(struct tevent_req *req,
-					 TALLOC_CTX *mem_ctx,
-					 WERROR *result);
-NTSTATUS rpccli_DRSUAPI_REPLICA_ADD(struct rpc_pipe_client *cli,
-				    TALLOC_CTX *mem_ctx,
-				    WERROR *werror);
-struct tevent_req *rpccli_DRSUAPI_REPLICA_DEL_send(TALLOC_CTX *mem_ctx,
-						   struct tevent_context *ev,
-						   struct rpc_pipe_client *cli);
-NTSTATUS rpccli_DRSUAPI_REPLICA_DEL_recv(struct tevent_req *req,
-					 TALLOC_CTX *mem_ctx,
-					 WERROR *result);
-NTSTATUS rpccli_DRSUAPI_REPLICA_DEL(struct rpc_pipe_client *cli,
-				    TALLOC_CTX *mem_ctx,
-				    WERROR *werror);
-struct tevent_req *rpccli_DRSUAPI_REPLICA_MODIFY_send(TALLOC_CTX *mem_ctx,
-						      struct tevent_context *ev,
-						      struct rpc_pipe_client *cli);
-NTSTATUS rpccli_DRSUAPI_REPLICA_MODIFY_recv(struct tevent_req *req,
-					    TALLOC_CTX *mem_ctx,
-					    WERROR *result);
-NTSTATUS rpccli_DRSUAPI_REPLICA_MODIFY(struct rpc_pipe_client *cli,
-				       TALLOC_CTX *mem_ctx,


-- 
Samba Shared Repository


More information about the samba-cvs mailing list