*/
struct composite_context *libnet_DomainOpenSamr_send(struct libnet_context *ctx,
+ TALLOC_CTX *mem_ctx,
struct libnet_DomainOpen *io,
void (*monitor)(struct monitor_msg*))
{
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);
*/
struct composite_context* libnet_DomainOpenLsa_send(struct libnet_context *ctx,
+ TALLOC_CTX *mem_ctx,
struct libnet_DomainOpen *io,
void (*monitor)(struct monitor_msg*))
{
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);
*/
struct composite_context* libnet_DomainOpen_send(struct libnet_context *ctx,
+ TALLOC_CTX *mem_ctx,
struct libnet_DomainOpen *io,
void (*monitor)(struct monitor_msg*))
{
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;
}
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);
}
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;
}
/* 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;
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;
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;
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;
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;
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;
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;
}
/* 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;
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;
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;
#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*),
}
/* 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);
}
-bool lsa_domain_opened(struct libnet_context *ctx, const char *domain_name,
+bool lsa_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*),
}
/* 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);
/* see the comment above to find out why true is returned here */
if (composite_nomem(domopen_req, *parent_ctx)) return true;