struct netr_DELTA_ENUM_ARRAY *r);
NTSTATUS samsync_init_context(TALLOC_CTX *mem_ctx,
const struct dom_sid *domain_sid,
+ const char *domain_name,
enum net_samsync_mode mode,
struct samsync_context **ctx_p);
NTSTATUS samsync_process_database(struct rpc_pipe_client *pipe_hnd,
NTSTATUS samsync_init_context(TALLOC_CTX *mem_ctx,
const struct dom_sid *domain_sid,
+ const char *domain_name,
enum net_samsync_mode mode,
struct samsync_context **ctx_p)
{
ctx->mode = mode;
+ ctx->domain_name = talloc_strdup(mem_ctx, domain_name);
+ NT_STATUS_HAVE_NO_MEMORY(ctx->domain_name);
+
if (domain_sid) {
ctx->domain_sid = sid_dup_talloc(mem_ctx, domain_sid);
NT_STATUS_HAVE_NO_MEMORY(ctx->domain_sid);
enum net_samsync_mode mode;
const struct dom_sid *domain_sid;
const char *domain_sid_str;
+ const char *domain_name;
const char *output_filename;
void *private_data;
};
status = samsync_init_context(mem_ctx,
domain_sid,
+ domain_name,
NET_SAMSYNC_MODE_DUMP,
&ctx);
if (!NT_STATUS_IS_OK(status)) {
result = samsync_init_context(mem_ctx,
domain_sid,
+ domain_name,
NET_SAMSYNC_MODE_FETCH_PASSDB,
&ctx);
if (!NT_STATUS_IS_OK(result)) {
status = samsync_init_context(mem_ctx,
domain_sid,
+ domain_name,
NET_SAMSYNC_MODE_FETCH_LDIF,
&ctx);
if (!NT_STATUS_IS_OK(status)) {