[SCM] Samba Shared Repository - branch master updated

Andrew Bartlett abartlet at samba.org
Mon Apr 30 06:42:02 MDT 2012


The branch, master has been updated
       via  8874878 s4-libnet: Add mem_ctx to libnet_rpc_groupdel calls (bug #8889)
       via  566f066 s4-libnet: Add mem_ctx to libnet_rpc_groupadd calls (bug #8889)
       via  b72597c s4-libnet: Add mem_ctx to libnet_rpc_usermod calls (bug #8889)
       via  08f8eb4 s4-libnet: Add mem_ctx to libnet_rpc_userdel calls (bug #8889)
       via  fd2b21f s4-libnet: Add mem_ctx to libnet_rpc_useradd calls (bug #8889)
       via  081e790 s4-libnet: Add mem_ctx to libnet_rpc_groupinfo calls (bug #8889)
       via  a6fa69c s4-libnet: Add mem_ctx to libnet_DomainClose calls (bug #8889)
       via  7468282 s4-libnet: Add mem_ctx to libnet_DomainOpen calls (bug #8889)
       via  2d8b6ce s4-libnet: Add mem_ctx to libnet_Lookup calls (bug #8889)
      from  be8180e net: Let get*sid return error from passdb init

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


- Log -----------------------------------------------------------------
commit 887487851f57bb5640992f25d9dbb5ecaf478603
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Mon Apr 30 20:29:56 2012 +1000

    s4-libnet: Add mem_ctx to libnet_rpc_groupdel calls (bug #8889)
    
    Autobuild-User: Andrew Bartlett <abartlet at samba.org>
    Autobuild-Date: Mon Apr 30 14:41:36 CEST 2012 on sn-devel-104

commit 566f066a8dae5e2ac5ee633f781387cad6c686b7
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Mon Apr 30 20:27:33 2012 +1000

    s4-libnet: Add mem_ctx to libnet_rpc_groupadd calls (bug #8889)

commit b72597c6e3174218e4b7e8546668542ac26d8f37
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Mon Apr 30 20:25:55 2012 +1000

    s4-libnet: Add mem_ctx to libnet_rpc_usermod calls (bug #8889)

commit 08f8eb44076c30b2559184f788aff22e4acb24fb
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Mon Apr 30 20:23:07 2012 +1000

    s4-libnet: Add mem_ctx to libnet_rpc_userdel calls (bug #8889)

commit fd2b21fc38bfb562de0a14b1b38a31b7bc62288a
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Mon Apr 30 20:14:42 2012 +1000

    s4-libnet: Add mem_ctx to libnet_rpc_useradd calls (bug #8889)

commit 081e7909fc536cdee1c88016efa5d3a22e976926
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Mon Apr 30 20:09:58 2012 +1000

    s4-libnet: Add mem_ctx to libnet_rpc_groupinfo calls (bug #8889)

commit a6fa69c1b26cb80b3968cb5db4116412b285a333
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Mon Apr 30 20:02:42 2012 +1000

    s4-libnet: Add mem_ctx to libnet_DomainClose calls (bug #8889)

commit 74682826d946ae07881a5caade96f812292345d0
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Mon Apr 30 19:57:45 2012 +1000

    s4-libnet: Add mem_ctx to libnet_DomainOpen calls (bug #8889)

commit 2d8b6ce1c112731de7e2ed89ee19864f2631883d
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Mon Apr 30 19:35:25 2012 +1000

    s4-libnet: Add mem_ctx to libnet_Lookup calls (bug #8889)

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

Summary of changes:
 source4/libnet/groupinfo.c       |    5 +++--
 source4/libnet/groupman.c        |   10 ++++++----
 source4/libnet/libnet_domain.c   |   26 ++++++++++++++++----------
 source4/libnet/libnet_group.c    |   18 +++++++++---------
 source4/libnet/libnet_lookup.c   |   12 +++++++-----
 source4/libnet/libnet_user.c     |   22 +++++++++++-----------
 source4/libnet/prereq_domain.c   |   10 ++++++----
 source4/libnet/userman.c         |   15 +++++++++------
 source4/torture/libnet/userman.c |    2 +-
 9 files changed, 68 insertions(+), 52 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source4/libnet/groupinfo.c b/source4/libnet/groupinfo.c
index 0bc0d9f..9060973 100644
--- a/source4/libnet/groupinfo.c
+++ b/source4/libnet/groupinfo.c
@@ -262,6 +262,7 @@ static void continue_groupinfo_closegroup(struct tevent_req *subreq)
  * @param io arguments and results of the call
  */
 struct composite_context *libnet_rpc_groupinfo_send(struct dcerpc_pipe *p,
+						    TALLOC_CTX *mem_ctx,
 						    struct libnet_rpc_groupinfo *io,
 						    void (*monitor)(struct monitor_msg*))
 {
@@ -272,7 +273,7 @@ struct composite_context *libnet_rpc_groupinfo_send(struct dcerpc_pipe *p,
 
 	if (!p || !io) return NULL;
 	
-	c = composite_create(p, dcerpc_event_context(p));
+	c = composite_create(mem_ctx, dcerpc_event_context(p));
 	if (c == NULL) return c;
 	
 	s = talloc_zero(c, struct groupinfo_state);
@@ -372,6 +373,6 @@ NTSTATUS libnet_rpc_groupinfo(struct dcerpc_pipe *p,
 			      TALLOC_CTX *mem_ctx,
 			      struct libnet_rpc_groupinfo *io)
 {
-	struct composite_context *c = libnet_rpc_groupinfo_send(p, io, NULL);
+	struct composite_context *c = libnet_rpc_groupinfo_send(p, mem_ctx, io, NULL);
 	return libnet_rpc_groupinfo_recv(c, mem_ctx, io);
 }
diff --git a/source4/libnet/groupman.c b/source4/libnet/groupman.c
index c8762f4..97236bd 100644
--- a/source4/libnet/groupman.c
+++ b/source4/libnet/groupman.c
@@ -42,6 +42,7 @@ static void continue_groupadd_created(struct tevent_req *subreq);
 
 
 struct composite_context* libnet_rpc_groupadd_send(struct dcerpc_pipe *p,
+						   TALLOC_CTX *mem_ctx,
 						   struct libnet_rpc_groupadd *io,
 						   void (*monitor)(struct monitor_msg*))
 {
@@ -51,7 +52,7 @@ struct composite_context* libnet_rpc_groupadd_send(struct dcerpc_pipe *p,
 
 	if (!p || !io) return NULL;
 
-	c = composite_create(p, dcerpc_event_context(p));
+	c = composite_create(mem_ctx, dcerpc_event_context(p));
 	if (c == NULL) return NULL;
 
 	s = talloc_zero(c, struct groupadd_state);
@@ -125,7 +126,7 @@ NTSTATUS libnet_rpc_groupadd(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx,
 {
 	struct composite_context *c;
 
-	c = libnet_rpc_groupadd_send(p, io, NULL);
+	c = libnet_rpc_groupadd_send(p, mem_ctx, io, NULL);
 	return libnet_rpc_groupadd_recv(c, mem_ctx, io);
 }
 
@@ -149,6 +150,7 @@ static void continue_groupdel_deleted(struct tevent_req *subreq);
 
 
 struct composite_context* libnet_rpc_groupdel_send(struct dcerpc_pipe *p,
+						   TALLOC_CTX *mem_ctx,
 						   struct libnet_rpc_groupdel *io,
 						   void (*monitor)(struct monitor_msg*))
 {
@@ -157,7 +159,7 @@ struct composite_context* libnet_rpc_groupdel_send(struct dcerpc_pipe *p,
 	struct tevent_req *subreq;
 
 	/* composite context allocation and setup */
-	c = composite_create(p, dcerpc_event_context(p));
+	c = composite_create(mem_ctx, dcerpc_event_context(p));
 	if (c == NULL) return NULL;
 
 	s = talloc_zero(c, struct groupdel_state);
@@ -319,6 +321,6 @@ NTSTATUS libnet_rpc_groupdel(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx,
 {
 	struct composite_context *c;
 
-	c = libnet_rpc_groupdel_send(p, io, NULL);
+	c = libnet_rpc_groupdel_send(p, mem_ctx, io, NULL);
 	return libnet_rpc_groupdel_recv(c, mem_ctx, io);
 }
diff --git a/source4/libnet/libnet_domain.c b/source4/libnet/libnet_domain.c
index acd2ece..70ed31d 100644
--- a/source4/libnet/libnet_domain.c
+++ b/source4/libnet/libnet_domain.c
@@ -268,6 +268,7 @@ static void continue_domain_open_open(struct tevent_req *subreq)
  */
 
 struct composite_context *libnet_DomainOpenSamr_send(struct libnet_context *ctx,
+						     TALLOC_CTX *mem_ctx,
 						     struct libnet_DomainOpen *io,
 						     void (*monitor)(struct monitor_msg*))
 {
@@ -276,7 +277,7 @@ struct composite_context *libnet_DomainOpenSamr_send(struct libnet_context *ctx,
 	struct composite_context *rpcconn_req;
 	struct tevent_req *subreq;
 
-	c = composite_create(ctx, ctx->event_ctx);
+	c = composite_create(mem_ctx, ctx->event_ctx);
 	if (c == NULL) return NULL;
 
 	s = talloc_zero(c, struct domain_open_samr_state);
@@ -414,6 +415,7 @@ static void continue_lsa_policy_open(struct tevent_req *subreq);
  */
 
 struct composite_context* libnet_DomainOpenLsa_send(struct libnet_context *ctx,
+						    TALLOC_CTX *mem_ctx,
 						    struct libnet_DomainOpen *io,
 						    void (*monitor)(struct monitor_msg*))
 {
@@ -424,7 +426,7 @@ struct composite_context* libnet_DomainOpenLsa_send(struct libnet_context *ctx,
 	struct lsa_QosInfo *qos;
 
 	/* create composite context and state */
-	c = composite_create(ctx, ctx->event_ctx);
+	c = composite_create(mem_ctx, ctx->event_ctx);
 	if (c == NULL) return c;
 
 	s = talloc_zero(c, struct domain_open_lsa_state);
@@ -606,6 +608,7 @@ NTSTATUS libnet_DomainOpenLsa_recv(struct composite_context *c, struct libnet_co
  */
 
 struct composite_context* libnet_DomainOpen_send(struct libnet_context *ctx,
+						 TALLOC_CTX *mem_ctx,
 						 struct libnet_DomainOpen *io,
 						 void (*monitor)(struct monitor_msg*))
 {
@@ -614,13 +617,13 @@ struct composite_context* libnet_DomainOpen_send(struct libnet_context *ctx,
 	switch (io->in.type) {
 	case DOMAIN_LSA:
 		/* reques to open a policy handle on \pipe\lsarpc */
-		c = libnet_DomainOpenLsa_send(ctx, io, monitor);
+		c = libnet_DomainOpenLsa_send(ctx, mem_ctx, io, monitor);
 		break;
 
 	case DOMAIN_SAMR:
 	default:
 		/* request to open a domain policy handle on \pipe\samr */
-		c = libnet_DomainOpenSamr_send(ctx, io, monitor);
+		c = libnet_DomainOpenSamr_send(ctx, mem_ctx, io, monitor);
 		break;
 	}
 
@@ -670,7 +673,7 @@ NTSTATUS libnet_DomainOpen(struct libnet_context *ctx,
 			   TALLOC_CTX *mem_ctx,
 			   struct libnet_DomainOpen *io)
 {
-	struct composite_context *c = libnet_DomainOpen_send(ctx, io, NULL);
+	struct composite_context *c = libnet_DomainOpen_send(ctx, mem_ctx, io, NULL);
 	return libnet_DomainOpen_recv(c, ctx, mem_ctx, io);
 }
 
@@ -688,6 +691,7 @@ static void continue_lsa_close(struct tevent_req *subreq);
 
 
 struct composite_context* libnet_DomainCloseLsa_send(struct libnet_context *ctx,
+						     TALLOC_CTX *mem_ctx,
 						     struct libnet_DomainClose *io,
 						     void (*monitor)(struct monitor_msg*))
 {
@@ -696,7 +700,7 @@ struct composite_context* libnet_DomainCloseLsa_send(struct libnet_context *ctx,
 	struct tevent_req *subreq;
 
 	/* composite context and state structure allocation */
-	c = composite_create(ctx, ctx->event_ctx);
+	c = composite_create(mem_ctx, ctx->event_ctx);
 	if (c == NULL) return c;
 
 	s = talloc_zero(c, struct domain_close_lsa_state);
@@ -795,6 +799,7 @@ static void continue_samr_close(struct tevent_req *subreq);
 
 
 struct composite_context* libnet_DomainCloseSamr_send(struct libnet_context *ctx,
+						      TALLOC_CTX *mem_ctx,
 						      struct libnet_DomainClose *io,
 						      void (*monitor)(struct monitor_msg*))
 {
@@ -803,7 +808,7 @@ struct composite_context* libnet_DomainCloseSamr_send(struct libnet_context *ctx
 	struct tevent_req *subreq;
 
 	/* composite context and state structure allocation */
-	c = composite_create(ctx, ctx->event_ctx);
+	c = composite_create(mem_ctx, ctx->event_ctx);
 	if (c == NULL) return c;
 
 	s = talloc_zero(c, struct domain_close_samr_state);
@@ -892,6 +897,7 @@ NTSTATUS libnet_DomainCloseSamr_recv(struct composite_context *c, struct libnet_
 
 
 struct composite_context* libnet_DomainClose_send(struct libnet_context *ctx,
+						  TALLOC_CTX *mem_ctx,
 						  struct libnet_DomainClose *io,
 						  void (*monitor)(struct monitor_msg*))
 {
@@ -900,13 +906,13 @@ struct composite_context* libnet_DomainClose_send(struct libnet_context *ctx,
 	switch (io->in.type) {
 	case DOMAIN_LSA:
 		/* request to close policy handle on \pipe\lsarpc */
-		c = libnet_DomainCloseLsa_send(ctx, io, monitor);
+		c = libnet_DomainCloseLsa_send(ctx, mem_ctx, io, monitor);
 		break;
 
 	case DOMAIN_SAMR:
 	default:
 		/* request to close domain policy handle on \pipe\samr */
-		c = libnet_DomainCloseSamr_send(ctx, io, monitor);
+		c = libnet_DomainCloseSamr_send(ctx, mem_ctx, io, monitor);
 		break;
 	}
 	
@@ -941,7 +947,7 @@ NTSTATUS libnet_DomainClose(struct libnet_context *ctx, TALLOC_CTX *mem_ctx,
 {
 	struct composite_context *c;
 	
-	c = libnet_DomainClose_send(ctx, io, NULL);
+	c = libnet_DomainClose_send(ctx, mem_ctx, io, NULL);
 	return libnet_DomainClose_recv(c, ctx, mem_ctx, io);
 }
 
diff --git a/source4/libnet/libnet_group.c b/source4/libnet/libnet_group.c
index 928ce69..c8a95d7 100644
--- a/source4/libnet/libnet_group.c
+++ b/source4/libnet/libnet_group.c
@@ -67,7 +67,7 @@ struct composite_context* libnet_CreateGroup_send(struct libnet_context *ctx,
 	ZERO_STRUCT(s->r.out);
 
 	/* prerequisite: make sure we have a valid samr domain handle */
-	prereq_met = samr_domain_opened(ctx, s->r.in.domain_name, &c, &s->domain_open,
+	prereq_met = samr_domain_opened(ctx, c, s->r.in.domain_name, &c, &s->domain_open,
 					continue_domain_opened, monitor);
 	if (!prereq_met) return c;
 
@@ -76,7 +76,7 @@ struct composite_context* libnet_CreateGroup_send(struct libnet_context *ctx,
 	s->group_add.in.domain_handle = ctx->samr.handle;
 
 	/* send the request */
-	create_req = libnet_rpc_groupadd_send(ctx->samr.pipe, &s->group_add, monitor);
+	create_req = libnet_rpc_groupadd_send(ctx->samr.pipe, s, &s->group_add, monitor);
 	if (composite_nomem(create_req, c)) return c;
 
 	composite_continue(c, create_req, continue_rpc_group_added, c);
@@ -101,7 +101,7 @@ static void continue_domain_opened(struct composite_context *ctx)
 	s->group_add.in.domain_handle = s->ctx->samr.handle;
 
 	/* send the request */
-	create_req = libnet_rpc_groupadd_send(s->ctx->samr.pipe, &s->group_add,
+	create_req = libnet_rpc_groupadd_send(s->ctx->samr.pipe, s, &s->group_add,
 					      s->monitor_fn);
 	if (composite_nomem(create_req, c)) return;
 
@@ -232,7 +232,7 @@ struct composite_context* libnet_GroupInfo_send(struct libnet_context *ctx,
 	}
 
 	/* prerequisite: make sure the domain is opened */
-	prereq_met = samr_domain_opened(ctx, s->domain_name, &c, &s->domopen,
+	prereq_met = samr_domain_opened(ctx, c, s->domain_name, &c, &s->domopen,
 					continue_domain_open_info, monitor);
 	if (!prereq_met) return c;
 
@@ -257,7 +257,7 @@ struct composite_context* libnet_GroupInfo_send(struct libnet_context *ctx,
 		s->info.in.level         = GROUPINFOALL;
 
 		/* send the request */
-		info_req = libnet_rpc_groupinfo_send(s->ctx->samr.pipe, &s->info, s->monitor_fn);
+		info_req = libnet_rpc_groupinfo_send(s->ctx->samr.pipe, s, &s->info, s->monitor_fn);
 		if (composite_nomem(info_req, c)) return c;
 
 		/* set the next stage */
@@ -306,7 +306,7 @@ static void continue_domain_open_info(struct composite_context *ctx)
 		s->info.in.level         = GROUPINFOALL;
 
 		/* send the request */
-		info_req = libnet_rpc_groupinfo_send(s->ctx->samr.pipe, &s->info, s->monitor_fn);
+		info_req = libnet_rpc_groupinfo_send(s->ctx->samr.pipe, s, &s->info, s->monitor_fn);
 		if (composite_nomem(info_req, c)) return;
 
 		/* set the next stage */
@@ -348,7 +348,7 @@ static void continue_name_found(struct composite_context *ctx)
 	s->info.in.level         = GROUPINFOALL;
 
 	/* send the request */
-	info_req = libnet_rpc_groupinfo_send(s->ctx->samr.pipe, &s->info, s->monitor_fn);
+	info_req = libnet_rpc_groupinfo_send(s->ctx->samr.pipe, s, &s->info, s->monitor_fn);
 	if (composite_nomem(info_req, c)) return;
 
 	/* set the next stage */
@@ -487,7 +487,7 @@ struct composite_context *libnet_GroupList_send(struct libnet_context *ctx,
 	s->monitor_fn   = monitor;
 
 	/* make sure we have lsa domain handle before doing anything */
-	prereq_met = lsa_domain_opened(ctx, s->domain_name, &c, &s->domain_open,
+	prereq_met = lsa_domain_opened(ctx, c, s->domain_name, &c, &s->domain_open,
 				       continue_lsa_domain_opened, monitor);
 	if (!prereq_met) return c;
 
@@ -563,7 +563,7 @@ static void continue_domain_queried(struct tevent_req *subreq)
 	s->dominfo = (*s->query_domain.out.info)->domain;
 
 	/* make sure we have samr domain handle before continuing */
-	prereq_met = samr_domain_opened(s->ctx, s->domain_name, &c, &s->domain_open,
+	prereq_met = samr_domain_opened(s->ctx, c, s->domain_name, &c, &s->domain_open,
 					continue_samr_domain_opened, s->monitor_fn);
 	if (!prereq_met) return;
 
diff --git a/source4/libnet/libnet_lookup.c b/source4/libnet/libnet_lookup.c
index f937940..31ac6e4 100644
--- a/source4/libnet/libnet_lookup.c
+++ b/source4/libnet/libnet_lookup.c
@@ -47,6 +47,7 @@ static void continue_name_resolved(struct composite_context *ctx);
  */
 
 struct composite_context *libnet_Lookup_send(struct libnet_context *ctx,
+					     TALLOC_CTX *mem_ctx,
 					     struct libnet_Lookup *io)
 {
 	struct composite_context *c;
@@ -55,7 +56,7 @@ struct composite_context *libnet_Lookup_send(struct libnet_context *ctx,
 	struct resolve_context *resolve_ctx;
 
 	/* allocate context and state structures */
-	c = composite_create(ctx, ctx->event_ctx);
+	c = composite_create(mem_ctx, ctx->event_ctx);
 	if (c == NULL) return NULL;
 
 	s = talloc_zero(c, struct lookup_state);
@@ -144,7 +145,7 @@ NTSTATUS libnet_Lookup_recv(struct composite_context *c, TALLOC_CTX *mem_ctx,
 NTSTATUS libnet_Lookup(struct libnet_context *ctx, TALLOC_CTX *mem_ctx,
 		       struct libnet_Lookup *io)
 {
-	struct composite_context *c = libnet_Lookup_send(ctx, io);
+	struct composite_context *c = libnet_Lookup_send(ctx, mem_ctx, io);
 	return libnet_Lookup_recv(c, mem_ctx, io);
 }
 
@@ -159,10 +160,11 @@ NTSTATUS libnet_Lookup(struct libnet_context *ctx, TALLOC_CTX *mem_ctx,
  * Sends asynchronous LookupHost request
  */
 struct composite_context* libnet_LookupHost_send(struct libnet_context *ctx,
+						 TALLOC_CTX *mem_ctx,
 						 struct libnet_Lookup *io)
 {
 	io->in.type = NBT_NAME_SERVER;
-	return libnet_Lookup_send(ctx, io);
+	return libnet_Lookup_send(ctx, mem_ctx, io);
 }
 
 
@@ -173,7 +175,7 @@ struct composite_context* libnet_LookupHost_send(struct libnet_context *ctx,
 NTSTATUS libnet_LookupHost(struct libnet_context *ctx, TALLOC_CTX *mem_ctx,
 			   struct libnet_Lookup *io)
 {
-	struct composite_context *c = libnet_LookupHost_send(ctx, io);
+	struct composite_context *c = libnet_LookupHost_send(ctx, mem_ctx, io);
 	return libnet_Lookup_recv(c, mem_ctx, io);
 }
 
@@ -281,7 +283,7 @@ struct composite_context* libnet_LookupName_send(struct libnet_context *ctx,
 	s->monitor_fn = monitor;
 	s->ctx = ctx;
 
-	prereq_met = lsa_domain_opened(ctx, io->in.domain_name, &c, &s->domopen,
+	prereq_met = lsa_domain_opened(ctx, c, io->in.domain_name, &c, &s->domopen,
 				       continue_lookup_name, monitor);
 	if (!prereq_met) return c;
 
diff --git a/source4/libnet/libnet_user.c b/source4/libnet/libnet_user.c
index eef480a..1a73652 100644
--- a/source4/libnet/libnet_user.c
+++ b/source4/libnet/libnet_user.c
@@ -79,7 +79,7 @@ struct composite_context* libnet_CreateUser_send(struct libnet_context *ctx,
 	ZERO_STRUCT(s->r.out);
 
 	/* prerequisite: make sure the domain is opened */
-	prereq_met = samr_domain_opened(ctx, s->r.in.domain_name, &c, &s->domain_open,
+	prereq_met = samr_domain_opened(ctx, c, s->r.in.domain_name, &c, &s->domain_open,
 					continue_domain_open_create, monitor);
 	if (!prereq_met) return c;
 
@@ -88,7 +88,7 @@ struct composite_context* libnet_CreateUser_send(struct libnet_context *ctx,
 	s->user_add.in.domain_handle  = ctx->samr.handle;
 
 	/* send the request */
-	create_req = libnet_rpc_useradd_send(ctx->samr.pipe, &s->user_add, monitor);
+	create_req = libnet_rpc_useradd_send(ctx->samr.pipe, s, &s->user_add, monitor);
 	if (composite_nomem(create_req, c)) return c;
 
 	/* set the next stage */
@@ -123,7 +123,7 @@ static void continue_domain_open_create(struct composite_context *ctx)
 	s->user_add.in.domain_handle  = s->ctx->samr.handle;
 
 	/* send the request */
-	create_req = libnet_rpc_useradd_send(s->ctx->samr.pipe, &s->user_add, s->monitor_fn);
+	create_req = libnet_rpc_useradd_send(s->ctx->samr.pipe, s, &s->user_add, s->monitor_fn);
 	if (composite_nomem(create_req, c)) return;
 
 	/* set the next stage */
@@ -247,7 +247,7 @@ struct composite_context *libnet_DeleteUser_send(struct libnet_context *ctx,
 	ZERO_STRUCT(s->r.out);
 	
 	/* prerequisite: make sure the domain is opened before proceeding */
-	prereq_met = samr_domain_opened(ctx, s->r.in.domain_name, &c, &s->domain_open,
+	prereq_met = samr_domain_opened(ctx, c, s->r.in.domain_name, &c, &s->domain_open,
 					continue_domain_open_delete, monitor);
 	if (!prereq_met) return c;
 
@@ -256,7 +256,7 @@ struct composite_context *libnet_DeleteUser_send(struct libnet_context *ctx,
 	s->user_del.in.domain_handle  = ctx->samr.handle;
 
 	/* send request */
-	delete_req = libnet_rpc_userdel_send(ctx->samr.pipe, &s->user_del, monitor);
+	delete_req = libnet_rpc_userdel_send(ctx->samr.pipe, s, &s->user_del, monitor);
 	if (composite_nomem(delete_req, c)) return c;
 	
 	/* set the next stage */
@@ -291,7 +291,7 @@ static void continue_domain_open_delete(struct composite_context *ctx)
 	s->user_del.in.domain_handle  = s->ctx->samr.handle;
 
 	/* send request */
-	delete_req = libnet_rpc_userdel_send(s->ctx->samr.pipe, &s->user_del, s->monitor_fn);
+	delete_req = libnet_rpc_userdel_send(s->ctx->samr.pipe, s, &s->user_del, s->monitor_fn);
 	if (composite_nomem(delete_req, c)) return;
 
 	/* set the next stage */
@@ -415,7 +415,7 @@ struct composite_context *libnet_ModifyUser_send(struct libnet_context *ctx,
 	s->ctx = ctx;
 	s->r = *r;
 
-	prereq_met = samr_domain_opened(ctx, s->r.in.domain_name, &c, &s->domain_open,
+	prereq_met = samr_domain_opened(ctx, c, s->r.in.domain_name, &c, &s->domain_open,
 					continue_domain_open_modify, monitor);
 	if (!prereq_met) return c;
 
@@ -483,7 +483,7 @@ static void continue_rpc_userinfo(struct composite_context *ctx)
 
 	c->status = set_user_changes(c, &s->user_mod.in.change, &s->user_info, &s->r);
 
-	usermod_req = libnet_rpc_usermod_send(s->ctx->samr.pipe, &s->user_mod, s->monitor_fn);
+	usermod_req = libnet_rpc_usermod_send(s->ctx->samr.pipe, s, &s->user_mod, s->monitor_fn);
 	if (composite_nomem(usermod_req, c)) return;
 
 	composite_continue(c, usermod_req, continue_rpc_usermod, c);
@@ -661,7 +661,7 @@ struct composite_context* libnet_UserInfo_send(struct libnet_context *ctx,
 	}
 
 	/* prerequisite: make sure the domain is opened */
-	prereq_met = samr_domain_opened(ctx, s->domain_name, &c, &s->domopen,
+	prereq_met = samr_domain_opened(ctx, c, s->domain_name, &c, &s->domopen,
 					continue_domain_open_info, monitor);
 	if (!prereq_met) return c;
 
@@ -953,7 +953,7 @@ struct composite_context* libnet_UserList_send(struct libnet_context *ctx,
 	s->monitor_fn   = monitor;
 
 	/* make sure we have lsa domain handle before doing anything */
-	prereq_met = lsa_domain_opened(ctx, s->domain_name, &c, &s->domain_open,
+	prereq_met = lsa_domain_opened(ctx, c, s->domain_name, &c, &s->domain_open,
 				       continue_lsa_domain_opened, monitor);
 	if (!prereq_met) return c;
 
@@ -1029,7 +1029,7 @@ static void continue_domain_queried(struct tevent_req *subreq)
 	s->dominfo = (*s->query_domain.out.info)->domain;
 
 	/* make sure we have samr domain handle before continuing */
-	prereq_met = samr_domain_opened(s->ctx, s->domain_name, &c, &s->domain_open,
+	prereq_met = samr_domain_opened(s->ctx, c, s->domain_name, &c, &s->domain_open,
 					continue_samr_domain_opened, s->monitor_fn);
 	if (!prereq_met) return;
 
diff --git a/source4/libnet/prereq_domain.c b/source4/libnet/prereq_domain.c
index 039d99d..679669e 100644
--- a/source4/libnet/prereq_domain.c
+++ b/source4/libnet/prereq_domain.c
@@ -29,7 +29,8 @@
 #include "librpc/gen_ndr/ndr_lsa.h"
 
 
-bool samr_domain_opened(struct libnet_context *ctx, const char *domain_name,
+bool samr_domain_opened(struct libnet_context *ctx, TALLOC_CTX *mem_ctx,
+			const char *domain_name,
 			struct composite_context **parent_ctx,
 			struct libnet_DomainOpen *domain_open,
 			void (*continue_fn)(struct composite_context*),
@@ -76,7 +77,7 @@ bool samr_domain_opened(struct libnet_context *ctx, const char *domain_name,
 	}
 
 	/* send request to open the domain */
-	domopen_req = libnet_DomainOpen_send(ctx, domain_open, monitor);
+	domopen_req = libnet_DomainOpen_send(ctx, mem_ctx, domain_open, monitor);
 	if (composite_nomem(domopen_req, *parent_ctx)) return false;
 	
 	composite_continue(*parent_ctx, domopen_req, continue_fn, *parent_ctx);
@@ -84,7 +85,8 @@ bool samr_domain_opened(struct libnet_context *ctx, const char *domain_name,
 }
 
 
-bool lsa_domain_opened(struct libnet_context *ctx, const char *domain_name,
+bool lsa_domain_opened(struct libnet_context *ctx, TALLOC_CTX *mem_ctx,


-- 
Samba Shared Repository


More information about the samba-cvs mailing list